refactors, all handlers use template now