             msg.send "Invalid nomination: missing url"
 
     printNominations: (msg) ->
-        if msg.match[1] != ""
-            limit = msg.match[2]
+        if msg.match[1] != "nominations"
+            limit = msg.match[1].split(" ")[1]
         else
             limit = 9999
 
         if @storage.nominations && @storage.nominations.length > 0
             msg.send "Total of #{@storage.nominations.length} nominations"
             i = 0
-            while i < @storage.nominations.length
+            while i < @storage.nominations.length && i < limit
                 nomination = @storage.nominations[i]
                 msg.send "#{i + 1} - #{nomination["user"]} - #{nomination["url"]}"
                 i++

            msg.send "No previous AOTWs"

    nominate: (msg) ->
        if msg.match[1] != ""
            url = msg.match[2]
            spotify = /^https?:\/\/(open|play)\.spotify\.com\/(album|track|user\/[^\/]+\/playlist)\/([a-zA-Z0-9]+)$/
            googlePlay = /^https?:\/\/(music|play)\.google\.com\/music\/m\/([a-zA-Z0-9]+)$/
            youtube = /^https?:\/\/(?:www\.)?youtube.com\/watch\?(?=.*v=\w+)(?:\S+)?$/
            soundCloud = /^https?:\/\/(soundcloud.com)\/(.*)\/(sets)\/(.*)$/   
            if url.match(spotify) or url.match(googlePlay) or url.match(youtube) or url.match(soundCloud)
                user = msg.message.user.name.toLowerCase()
                try
                    @storage.nominations.push(user: user, url: msg.match[2])
                catch
                    @storage.nominations = []
                    @storage.nominations.push(user: user, url: msg.match[2])
                finally
                    @save
                    msg.send "Nomination saved"

        msg.send "Invalid command, say \"aotw help\" for help"

    robot.hear /^\s*aotw (.*)/i, (msg) ->
        cmd = msg.match[1].split(" ")[0]
        switch cmd
            when "current" then checkMessage msg, aotw.printCurrentAotw
            when "help" then aotw.printHelp msg
