split the handler into seperate files to follow the logical design of

the application