 };
 `
 
-twitterSearch = (query, respond) ->
-
+searchByString = (query, respond) ->
+    twitterSearch {
+        q   : query
+        rpp : n_tweets
+    }, respond
+    
+searchByUser = (user, plural, n, respond) ->
+    if not n
+        n = if not plural then 1 else n_tweets
+    twitterSearch {
+        q   : "from:#{user.replace('@', '')}"
+        rpp : n or 1
+    }, respond
+    
+twitterSearch = (params, respond) ->
+    
     message = ''
-    
-    url = 'http://search.twitter.com/search.json?' + qs.stringify(
-        q   : query
-        rpp : 3
-    )
+    url = 'http://search.twitter.com/search.json?' + qs.stringify(params)
     
     console.log "requesting #{url}" if program.verbose
     request.get url, (err, resp, body) ->

        /(?:grab|get|take|find|pull)\s(.+)\s(?:on|from)\stwitter/i
        /search\stwitter(?:\sfor)?\s(.+)/i
    ]
    fn: (user, m, cb) -> twitterSearch m[1], cb


###
Twitter search
###

n_tweets = 3

`
function relativeTime(dat){
