first parameter of callback should be error object, fixes #4