backend work to permit usage of different handlers