implemented more of the element class