refactor branch 16
Refactor !12 (merged) (#16 (closed)) and merge back to branch 16
The goal is to
- increase readability and clarity
- avoid redundancy
- object-oriented (use classes to hold data and methods)
Refactor !12 (merged) (#16 (closed)) and merge back to branch 16
The goal is to