move generation of options hash to separate method
add a caching convenience method
version bump