wrapping callbacks, normalized function