Added failureBlock to allow proper handing of errors situations