Cleaned up the overloaded assignment operator