added getters, and a copy constructor