changed the chart updating mechanism

Preivously the chart had to reload new objects to work correctly, now it
can dynamically update without reloading objects.