some refactors
test callback methods