Implemented Command based approach, added department functionality, implemented repositories