fixing operator= to simply swap between the sink and self