switch back to boost::optional for now... until the calling function can be made to use string properly