revise code for unhandled cases