removed nullable impl in favor of future use of boost::optional or std::optional