Adding an option to require reading from a secondary

Resolves #1