An object-oriented evolution of Leaf