changed to handler register_handler