diff --git a/app/views/answer/show.html.haml b/app/views/answer/show.html.haml
deleted file mode 100644
index 9c1b3f1d..00000000
--- a/app/views/answer/show.html.haml
+++ /dev/null
@@ -1,3 +0,0 @@
-- provide(:title, answer_title(@answer))
-.container.j2-page
-  = render 'shared/answerbox', a: @answer
diff --git a/app/views/shared/_answerbox_buttons.html.haml b/app/views/answerbox/_actions.haml
similarity index 98%
rename from app/views/shared/_answerbox_buttons.html.haml
rename to app/views/answerbox/_actions.haml
index d6aacc01..a41345cb 100644
--- a/app/views/shared/_answerbox_buttons.html.haml
+++ b/app/views/answerbox/_actions.haml
@@ -38,4 +38,4 @@
       - unless a.user == current_user
         %a.dropdown-item{href: '#', data: { a_id: a.id, action: 'ab-report' }}
           %i.fa.fa-exclamation-triangle
-          = t 'views.actions.report'
+          = t 'views.actions.report'
\ No newline at end of file
diff --git a/app/views/shared/_comments.html.haml b/app/views/answerbox/_comments.haml
similarity index 100%
rename from app/views/shared/_comments.html.haml
rename to app/views/answerbox/_comments.haml
diff --git a/app/views/answerbox/_header.haml b/app/views/answerbox/_header.haml
new file mode 100644
index 00000000..282116c1
--- /dev/null
+++ b/app/views/answerbox/_header.haml
@@ -0,0 +1,29 @@
+.card-header
+  .media.question-media
+    - unless a.question.author_is_anonymous
+      %a.pull-left{href: show_user_profile_path(a.question.user.screen_name)}
+        %img.img-rounded.answerbox--img{src: gravatar_url(a.question.user)}
+    .media-body.question-body
+      - if user_signed_in?
+        .pull-right
+          .btn-group
+            %button.btn.btn-link.btn-sm.dropdown-toggle{data: { toggle: :dropdown }, aria: { expanded: :false }}
+              %span.caret
+            .dropdown-menu.dropdown-menu-right{role: :menu}
+              - if current_user.mod? or a.question.user == current_user
+                %a.dropdown-item.text-danger{href: '#', tabindex: -1, data: { action: 'ab-question-destroy', q_id: a.question.id }}
+                  %i.fa.fa-trash-o
+                  = t 'views.actions.delete'
+              - unless a.question.user == current_user
+                %a.dropdown-item{href: '#', tabindex: -1, data: { action: 'ab-question-report', q_id: a.question.id }}
+                  %i.fa.fa-exclamation-triangle
+                  = t 'views.actions.report'
+      %h6.text-muted.media-heading.answerbox--question-user
+        = raw t('views.answerbox.asked', user: user_screen_name(a.question.user, anonymous: a.question.author_is_anonymous), time: time_tooltip(a.question))
+        - unless a.question.author_is_anonymous
+          - if a.question.answer_count > 1
+            ·
+            %a{href: show_user_question_path(a.question.user.screen_name, a.question.id)}
+              = pluralize(a.question.answer_count, t('views.general.answer'))
+      .answerbox--question-text
+        = a.question.content
\ No newline at end of file
diff --git a/app/views/shared/_smiles.html.haml b/app/views/answerbox/_smiles.haml
similarity index 100%
rename from app/views/shared/_smiles.html.haml
rename to app/views/answerbox/_smiles.haml
diff --git a/app/views/application/_answerbox.haml b/app/views/application/_answerbox.haml
new file mode 100644
index 00000000..1c1566b9
--- /dev/null
+++ b/app/views/application/_answerbox.haml
@@ -0,0 +1,39 @@
+.card.answerbox{data: { id: a.id, q_id: a.question.id }}
+  - if @question.nil?
+    = render "answerbox/header", a: a
+  .card-body
+    - if @display_all.nil?
+      .answerbox--answer-text
+        = markdown a.content[0..255]
+        - if a.content.length > 255
+          [...]
+          %p
+            %a.btn.btn-primary{href: show_user_answer_path(a.user.screen_name, a.id)}
+              = t 'views.answerbox.read'
+    - else
+      .answerbox--answer-text
+        = markdown a.content
+    - if @user.nil?
+      .row
+        .col-md-6.col-sm-4.col-xs-6.text-left.text-muted
+          .media
+            .pull-left
+              %a{href: show_user_profile_path(a.user.screen_name)}
+                %img.img-rounded.answerbox--img{src: gravatar_url(a.user)}
+            .media-body
+              %h6.media-heading.answerbox--answer-user
+                = raw t('views.answerbox.answered', hide: hidespan(t('views.answerbox.hide'), "xs"), user: user_screen_name(a.user))
+              .answerbox--answer-date
+                = link_to(raw(t('views.answerbox.time', time: time_tooltip(a))), show_user_answer_path(a.user.screen_name, a.id))
+        .col-md-6.col-sm-8.col-xs-6.text-right
+          = render 'answerbox/actions', a: a
+    - else
+      .row
+        .col-md-6.col-sm-4.col-xs-6.text-left.text-muted
+          %i.fa.fa-clock-o
+          = link_to(raw(t('views.answerbox.time', time: time_tooltip(a))), show_user_answer_path(a.user.screen_name, a.id))
+        .col-md-6.col-sm-8.col-xs-6.text-right
+          = render 'answerbox/actions', a: a
+  .card-footer{id: "ab-comments-section-#{a.id}", style: @display_all.nil? ? 'display: none' : nil }
+    %div{id: "ab-smiles-#{a.id}"}= render 'answerbox/smiles', a: a
+    %div{id: "ab-comments-#{a.id}"}= render 'answerbox/comments', a: a
\ No newline at end of file
diff --git a/app/views/discover/_tab_answers.html.haml b/app/views/discover/_tab_answers.html.haml
index 35438dd3..0738798d 100644
--- a/app/views/discover/_tab_answers.html.haml
+++ b/app/views/discover/_tab_answers.html.haml
@@ -1,3 +1,3 @@
 .tab-pane.active.fade.show{role: "tabpanel", id: "answers"}
   - answers.each do |a|
-    = render 'shared/answerbox', a: a
+    = render 'answerbox', a: a
diff --git a/app/views/discover/_tab_discussed.html.haml b/app/views/discover/_tab_discussed.html.haml
index a6b73b4f..1dafe7ce 100644
--- a/app/views/discover/_tab_discussed.html.haml
+++ b/app/views/discover/_tab_discussed.html.haml
@@ -1,3 +1,3 @@
 .tab-pane.fade{role: "tabpanel", id: "comments"}
   - comments.each do |a|
-    = render 'shared/answerbox', a: a
+    = render 'answerbox', a: a
diff --git a/app/views/group/index.haml b/app/views/group/index.haml
index 878d73fc..61e139a3 100644
--- a/app/views/group/index.haml
+++ b/app/views/group/index.haml
@@ -1,6 +1,6 @@
 #timeline
   - @timeline.each do |answer|
-    = render 'shared/answerbox', a: answer
+    = render 'answerbox', a: answer
 
   = render 'shared/cursored_pagination_dummy', more_data_available: @more_data_available, last_id: @timeline_last_id
 
diff --git a/app/views/group/index.js.erb b/app/views/group/index.js.erb
index fd1ddb36..59591f8d 100644
--- a/app/views/group/index.js.erb
+++ b/app/views/group/index.js.erb
@@ -1,5 +1,5 @@
 $('#timeline').append('<% @timeline.each do |answer|
-  %><%= j render 'shared/answerbox', a: answer
+  %><%= j render 'answerbox', a: answer
 %><% end %>');
 <% if @more_data_available %>
   $('#pagination').html('<%= j render 'shared/cursored_pagination_dummy', more_data_available: @more_data_available, last_id: @timeline_last_id %>');
diff --git a/app/views/public/index.haml b/app/views/public/index.haml
index 50f62dd9..18a8e660 100644
--- a/app/views/public/index.haml
+++ b/app/views/public/index.haml
@@ -1,6 +1,6 @@
 #timeline
   - @timeline.each do |answer|
-    = render 'shared/answerbox', a: answer
+    = render 'answerbox', a: answer
 
   = render 'shared/cursored_pagination_dummy', more_data_available: @more_data_available, last_id: @timeline_last_id
 
diff --git a/app/views/public/index.js.erb b/app/views/public/index.js.erb
index fd1ddb36..59591f8d 100644
--- a/app/views/public/index.js.erb
+++ b/app/views/public/index.js.erb
@@ -1,5 +1,5 @@
 $('#timeline').append('<% @timeline.each do |answer|
-  %><%= j render 'shared/answerbox', a: answer
+  %><%= j render 'answerbox', a: answer
 %><% end %>');
 <% if @more_data_available %>
   $('#pagination').html('<%= j render 'shared/cursored_pagination_dummy', more_data_available: @more_data_available, last_id: @timeline_last_id %>');
diff --git a/app/views/question/show.html.haml b/app/views/question/show.html.haml
index 72b7991f..224bb758 100644
--- a/app/views/question/show.html.haml
+++ b/app/views/question/show.html.haml
@@ -6,7 +6,7 @@
 
   #answers
     - @answers.each do |a|
-      = render 'shared/answerbox', a: a, show_question: false
+      = render 'answerbox', a: a, show_question: false
 
   = render 'shared/cursored_pagination_dummy', more_data_available: @more_data_available, last_id: @answers_last_id
 
diff --git a/app/views/question/show.js.erb b/app/views/question/show.js.erb
index 10610656..fbbf582f 100644
--- a/app/views/question/show.js.erb
+++ b/app/views/question/show.js.erb
@@ -1,5 +1,5 @@
 $('#answers').append('<% @answers.each do |answer|
-  %><%= j render 'shared/answerbox', a: answer, show_question: false
+  %><%= j render 'answerbox', a: answer, show_question: false
 %><% end %>');
 <% if @more_data_available %>
   $('#pagination').html('<%= j render 'shared/cursored_pagination_dummy', more_data_available: @more_data_available, last_id: @answers_last_id %>');
diff --git a/app/views/shared/_answerbox.html.haml b/app/views/shared/_answerbox.html.haml
deleted file mode 100644
index 2bf170e4..00000000
--- a/app/views/shared/_answerbox.html.haml
+++ /dev/null
@@ -1,67 +0,0 @@
-.card.answerbox{data: { id: a.id, q_id: a.question.id }}
-  - if @question.nil?
-    .card-header
-      .media.question-media
-        - unless a.question.author_is_anonymous
-          %a.pull-left{href: show_user_profile_path(a.question.user.screen_name)}
-            %img.img-rounded.answerbox--img{src: gravatar_url(a.question.user)}
-        .media-body.question-body
-          - if user_signed_in?
-            .pull-right
-              .btn-group
-                %button.btn.btn-link.btn-sm.dropdown-toggle{data: { toggle: :dropdown }, aria: { expanded: :false }}
-                  %span.caret
-                .dropdown-menu.dropdown-menu-right{role: :menu}
-                  - if current_user.mod? or a.question.user == current_user
-                    %a.dropdown-item.text-danger{href: '#', tabindex: -1, data: { action: 'ab-question-destroy', q_id: a.question.id }}
-                      %i.fa.fa-trash-o
-                      = t 'views.actions.delete'
-                  - unless a.question.user == current_user
-                    %a.dropdown-item{href: '#', tabindex: -1, data: { action: 'ab-question-report', q_id: a.question.id }}
-                      %i.fa.fa-exclamation-triangle
-                      = t 'views.actions.report'
-          %h6.text-muted.media-heading.answerbox--question-user
-            = raw t('views.answerbox.asked', user: user_screen_name(a.question.user, anonymous: a.question.author_is_anonymous), time: time_tooltip(a.question))
-            - unless a.question.author_is_anonymous
-              - if a.question.answer_count > 1
-                ·
-                %a{href: show_user_question_path(a.question.user.screen_name, a.question.id)}
-                  = pluralize(a.question.answer_count, t('views.general.answer'))
-          .answerbox--question-text
-            = a.question.content
-  .card-body
-    - if @display_all.nil?
-      .answerbox--answer-text
-        = markdown a.content[0..255]
-        - if a.content.length > 255
-          [...]
-          %p
-            %a.btn.btn-primary{href: show_user_answer_path(a.user.screen_name, a.id)}
-              = t 'views.answerbox.read'
-    - else
-      .answerbox--answer-text
-        = markdown a.content
-    - if @user.nil?
-      .row
-        .col-md-6.col-sm-4.col-xs-6.text-left.text-muted
-          .media
-            .pull-left
-              %a{href: show_user_profile_path(a.user.screen_name)}
-                %img.img-rounded.answerbox--img{src: gravatar_url(a.user)}
-            .media-body
-              %h6.media-heading.answerbox--answer-user
-                = raw t('views.answerbox.answered', hide: hidespan(t('views.answerbox.hide'), "xs"), user: user_screen_name(a.user))
-              .answerbox--answer-date
-                = link_to(raw(t('views.answerbox.time', time: time_tooltip(a))), show_user_answer_path(a.user.screen_name, a.id))
-        .col-md-6.col-sm-8.col-xs-6.text-right
-          = render 'shared/answerbox_buttons', a: a
-    - else
-      .row
-        .col-md-6.col-sm-4.col-xs-6.text-left.text-muted
-          %i.fa.fa-clock-o
-          = link_to(raw(t('views.answerbox.time', time: time_tooltip(a))), show_user_answer_path(a.user.screen_name, a.id))
-        .col-md-6.col-sm-8.col-xs-6.text-right
-          = render 'shared/answerbox_buttons', a: a
-  .card-footer{id: "ab-comments-section-#{a.id}", style: @display_all.nil? ? 'display: none' : nil }
-    %div{id: "ab-smiles-#{a.id}"}= render 'shared/smiles', a: a
-    %div{id: "ab-comments-#{a.id}"}= render 'shared/comments', a: a
diff --git a/app/views/static/index.haml b/app/views/static/index.haml
index 12355001..5b4eda6d 100644
--- a/app/views/static/index.haml
+++ b/app/views/static/index.haml
@@ -1,6 +1,6 @@
 #timeline
   - @timeline.each do |answer|
-    = render 'shared/answerbox', a: answer
+    = render 'answerbox', a: answer
 
   = render 'shared/cursored_pagination_dummy', more_data_available: @more_data_available, last_id: @timeline_last_id
 
diff --git a/app/views/static/index.js.erb b/app/views/static/index.js.erb
index fd1ddb36..59591f8d 100644
--- a/app/views/static/index.js.erb
+++ b/app/views/static/index.js.erb
@@ -1,5 +1,5 @@
 $('#timeline').append('<% @timeline.each do |answer|
-  %><%= j render 'shared/answerbox', a: answer
+  %><%= j render 'answerbox', a: answer
 %><% end %>');
 <% if @more_data_available %>
   $('#pagination').html('<%= j render 'shared/cursored_pagination_dummy', more_data_available: @more_data_available, last_id: @timeline_last_id %>');
diff --git a/app/views/user/show.haml b/app/views/user/show.haml
index e1734f5d..a7e81008 100644
--- a/app/views/user/show.haml
+++ b/app/views/user/show.haml
@@ -4,7 +4,7 @@
 - unless @user.banned?
   #answers
     - @answers.each do |a|
-      = render 'shared/answerbox', a: a
+      = render 'answerbox', a: a
 
 = render 'shared/cursored_pagination_dummy', more_data_available: @more_data_available, last_id: @answers_last_id
 
diff --git a/app/views/user/show.js.erb b/app/views/user/show.js.erb
index 443b9d7b..be445de6 100644
--- a/app/views/user/show.js.erb
+++ b/app/views/user/show.js.erb
@@ -1,5 +1,5 @@
 $('#answers').append('<% @answers.each do |a|
-  %><%= j render 'shared/answerbox', a: a
+  %><%= j render 'answerbox', a: a
 %><% end %>');
 <% if @more_data_available %>
   $('#pagination').html('<%= j render 'shared/cursored_pagination_dummy', more_data_available: @more_data_available, last_id: @answers_last_id %>');