added callback functionality
#13