refactoring callback methodology