finished new handler system, not tested