Improved Operator Overloading Exercise