add ability to have multiple handler types; add test coverage for handlers