add move and fix some bugs