added some more functionality and some callback testing