also handle "return" properly