callback must come first in always/sometimes
preparing 1.0.0