restructured handlers