No need to use std::optional here