Using decomposition for return.
Added handler for yield.