added support for return value, Execution is becoming more like Function