add lots of calculations and chart support