added options to needle and passed error to callback