refactored into classes!
user can now pass in config options via a block in env.rb