fix a bug in move ctor