added generate moves