callback don't get called if there is an error. Is that on purpose ?