Lots of calculations