uncommited changes (lots). Add data viz, refactor render logic to view