more complete promises
using node promise shim
callback method calls, throwing error for whole file
fixed issue if resolving undefined
list comprehensions