Added Donut chart and even more refactoring