allow ttl to be null