generate handlers compile