diff --git a/app/helpers/todos_helper.rb b/app/helpers/todos_helper.rb
index b989b43..2d0098d 100644
--- a/app/helpers/todos_helper.rb
+++ b/app/helpers/todos_helper.rb
@@ -40,6 +40,20 @@ module TodosHelper
     set_behavior_for_delete_icon
     str
   end
+
+  def set_behavior_for_defer_icon(days)
+    apply_behavior ".item-container a.defer_icon_#{days}:click", 
+      remote_to_href(:method => 'put', :with => "'_source_view=#{@source_view}&days=#{days}'"), 
+      :prevent_default => true
+    # :days => days, :_source_view => (@source_view.underscore.gsub(/\s+/,'_') rescue "")}
+  end
+  
+  def remote_defer_icon(days)
+    str = link_to( image_tag_for_defer(days), 
+      defer_todo_path(@todo), :class => "icon defer_icon_#{days}", :title => "Defer action #{days} day(s)")
+    set_behavior_for_defer_icon(days)
+    str
+  end
   
   def set_behavior_for_star_icon
     apply_behavior '.item-container a.star_item:click', 
@@ -85,7 +99,8 @@ module TodosHelper
   end
   
   def remote_toggle_checkbox
-    str = check_box_tag('item_id', toggle_check_todo_path(@todo), @todo.completed?, :class => 'item-checkbox')
+    title = @todo.completed? ? "Mark action incomplete" : "Mark action complete"
+    str = check_box_tag('item_id', toggle_check_todo_path(@todo), @todo.completed?, :class => 'item-checkbox', :title => title)
     set_behavior_for_toggle_checkbox
     str
   end
@@ -116,7 +131,7 @@ module TodosHelper
     tag_list = tags_except_starred.collect{|t| 
       "<span class=\"tag\">" + 
         link_to(t.name, {:action => "tag", :controller => "todos", :id => t.name+".m"}) + 
-      "</span>"}.join('')
+        "</span>"}.join('')
     "<span class=\"tags\">#{tag_list}</span>"
   end
   
@@ -279,9 +294,9 @@ module TodosHelper
     class_str = todo.starred? ? "starred_todo" : "unstarred_todo"
     image_tag("blank.png", :title =>"Star action", :class => class_str)
   end  
-  
-  def defer_link(days)
-    link_to_remote image_tag("defer_#{days}.png"), :url => {:controller => 'todos', :action => 'defer', :id => @todo.id, :days => days, :_source_view => (@source_view.underscore.gsub(/\s+/,'_') rescue "")}
-  end
 
+  def image_tag_for_defer(days)
+    image_tag("defer_#{days}.png", :title => "Defer action #{days} day(s)", :class =>"defer-item")
+  end
+  
 end
diff --git a/app/views/contexts/_context.rhtml b/app/views/contexts/_context.rhtml
index bd90099..e04e461 100644
--- a/app/views/contexts/_context.rhtml
+++ b/app/views/contexts/_context.rhtml
@@ -47,3 +47,13 @@
     -%>
   </div><!-- [end:items] -->
 </div><!-- [end:c<%= context.id %>] -->
+<%=  apply_behaviour ".date_clear:click","var selector_x = this.getAttribute('id').replace('_x', ''); $(selector_x).value='';" %>
+<% apply_behaviour '.item-container:mouseover' do |page, element, event| 
+    funcs = element.down(".func-container")
+    funcs.show
+  end
+  apply_behaviour '.item-container:mouseout' do |page, element, event| 
+    funcs = element.down(".func-container")
+    funcs.hide
+  end
+ %>
\ No newline at end of file
diff --git a/app/views/todos/_todo.html.erb b/app/views/todos/_todo.html.erb
index 288325a..f44cd2e 100644
--- a/app/views/todos/_todo.html.erb
+++ b/app/views/todos/_todo.html.erb
@@ -1,31 +1,33 @@
 <%
-  @todo = todo
-  suppress_context ||= false
-  suppress_project ||= false
-  suppress_edit_button ||= false
+@todo = todo
+suppress_context ||= false
+suppress_project ||= false
+suppress_edit_button ||= false
 %>
 <div id="<%= dom_id(todo) %>" class="item-container">
   <div id="<%= dom_id(todo, 'line') %>">
-    <%= remote_delete_icon %>
-    <%= remote_edit_icon unless suppress_edit_button %>
     <%= remote_star_icon %>
     <%= remote_toggle_checkbox unless source_view_is :deferred %>
     <div class="description<%= staleness_class( todo ) %>">
-      <% unless @todo.completed? %><span class="defer-container"><%= defer_link(1) %> <%= defer_link(7) %></span><% end %>
       <%= date_span -%>
-      <span class="todo.descr"><%= h sanitize(todo.description) %></span>
+      <span class="todo-descr"><%= h sanitize(todo.description) %></span>
       <%= link_to(image_tag("recurring16x16.png"), {:controller => "recurring_todos", :action => "index"}, :class => "recurring_icon") if @todo.from_recurring_todo? %>
       <%= tag_list %>
       <%= deferred_due_date %>
       <%= project_and_context_links( parent_container_type, :suppress_context => suppress_context, :suppress_project => suppress_project ) %>
       <%= render(:partial => "todos/toggle_notes", :locals => { :item => todo }) if todo.notes? %>
     </div>
+    <div id="<%= dom_id(todo, 'func') %>" class = "func-container" style="display:none">
+      <%= remote_defer_icon(1) unless @todo.completed? %> 
+      <%= remote_defer_icon(7) unless @todo.completed? %> 
+      <%= remote_delete_icon %>
+      <%= remote_edit_icon unless suppress_edit_button || @todo.completed?%>
+    </div>
   </div>
   <div id="<%= dom_id(todo, 'edit') %>" class="edit-form" style="display:none">
     <% form_remote_tag_edit_todo do -%>
-    <% #note: edit form will load here remotely -%>
-    <div class="placeholder"> </div>
+      <% #note: edit form will load here remotely -%>
+      <div class="placeholder"> </div>
     <% end -%>
   </div>
-</div>
-<%=  apply_behaviour ".date_clear:click","var selector_x = this.getAttribute('id').replace('_x', ''); $(selector_x).value='';" %>
\ No newline at end of file
+</div>
\ No newline at end of file
diff --git a/config/routes.rb b/config/routes.rb
index a4eb29e..c15b1cc 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -29,7 +29,7 @@ ActionController::Routing::Routes.draw do |map|
   end
 
   map.resources :todos,
-                :member => {:toggle_check => :put, :toggle_star => :put},
+                :member => {:toggle_check => :put, :toggle_star => :put, :defer => :put},
                 :collection => {:check_deferred => :post, :filter_to_context => :post, :filter_to_project => :post}
   map.with_options :controller => "todos" do |todos|
     todos.home '', :action => "index"
diff --git a/public/stylesheets/standard.css b/public/stylesheets/standard.css
index 3b31fcd..b141dc6 100644
--- a/public/stylesheets/standard.css
+++ b/public/stylesheets/standard.css
@@ -365,18 +365,24 @@ a.icon {
 
 input.item-checkbox {
     float: left;
-    margin-left: 10px;
+    margin-left: 1px;
     vertical-align: middle;
 }
 
+.defer-item {
+    float: left;
+}
+
 .description {
-    margin-left: 85px;
-    position:relative
+    margin-left:50px;
+}
+
+.todo-descr {
 }
 
 .stale_l1, .stale_l2, .stale_l3 {
-    margin-left: 82px;
-    padding-left: 3px;
+    /*margin-left: 82px;
+    padding-left: 3px;*/
 }
 
 .stale_l1 {
@@ -569,6 +575,7 @@ Same format as traffic lights */
     color: #fff;
     background: #999;
     padding: 2px;
+    margin-left: 3px;
     font-size: 85%;
 }
 
@@ -1201,9 +1208,10 @@ body.integrations textarea {
     width:80%;
     background-color:#ddd;
 }
-.defer-container {
-  float:right;
+
+.func-container {
+    float:right;
 }
-.defer-container a:hover {
+.func-container a:hover {
   background-color: inherit;
 }
