add some callbacks