first run through of handler call
refactored handler