added dynamic graphing