refactor part 2: review all model.rb and update/refactor