Fully implements shape class.