refactor: defhandler