still not working. operator= is borked