Rack, and some move generation