add interface project see how interface works more than a abstract approach
add processor project, this is how the coupling and static function works, also include objects to be more flexible
this is how inheritance, abstract and inteface work together