return used in place of exit