added reusable chart, refactored