added presence validation