control transfers implemented and tested; found a bug (not yet fixed) in function-calling that causes the vm to read instructions from the wrong function