added move signment operator