doing a return instead of exit, exit is custom