request_handlers functions
tabs -> spaces
proper response handling non-blocking