set callback before options, otherwise we loose the context