add mutators and overloading