try catch blocks weren't picking up thrown error due to callback hell

Changed the trowing of a new error, to the callback style of
callback(err, res).  Due to async callback hell :(