added assignment operators