refactor so that we jump to the return instructions rather than duplicating them
basic local variable allocation