factors out seat_data