added object oriented edition v0.6