Cache options and read lazily