refactor; allow return value instruction to do grand return