rsvp: improved valid()