add tests for callbacks