made all assignment operators work