write tests and rubyize path and steps