checkin implementation