charting refactor