implemented basic design and tree class