cannon move generated