with user presence validation