close to being finished
lots of changes made to calculate