returning promises for errors in promise error promises