Still needs compare and toString methods completed