better callbacks
doc update