refactoring and cleaning up Pointer responder