still working on calculate