implemented read options