diff --git a/lib/fb_graph/connections/feed.rb b/lib/fb_graph/connections/feed.rb
index <HASH>..<HASH> 100644
--- a/lib/fb_graph/connections/feed.rb
+++ b/lib/fb_graph/connections/feed.rb
@@ -5,6 +5,7 @@ module FbGraph
         posts = self.connection(:feed, options)
         posts.map! do |post|
           Post.new(post.delete(:id), post.merge(
+            :context => self.class,
             :access_token => options[:access_token] || self.access_token
           ))
         end
diff --git a/lib/fb_graph/post.rb b/lib/fb_graph/post.rb
index <HASH>..<HASH> 100644
--- a/lib/fb_graph/post.rb
+++ b/lib/fb_graph/post.rb
@@ -20,8 +20,17 @@ module FbGraph
         Collection.new(attributes[:to]).each do |to|
           @to << if to[:category]
             Page.new(to.delete(:id), to)
+          elsif to[:start_time]
+            Event.new(to.delete(:id), to)
+          elsif to[:version]
+            Group.new(to.delete(:id), to)
           else
-            User.new(to.delete(:id), to)
+            case attributes[:context]
+            when Application
+              Application.new(to.delete(:id), to)
+            else
+              User.new(to.delete(:id), to)
+            end
           end
         end
       end
accept Event, Group and Application as Post#to