added isPresent and documentation