added return to op= and added comments