added boarding logic