I wanted to learn oop, programming patterns so I decided to try it out