divided into mini classes and modules
removed main.rb