implement MMove