refactor: for exception