refactor functions and test
bump version
ensure versions dir exists
update test fixture