added documentation for Optional interface