split handler out into separate package