Working version
working
no change in semantics - cosmetic