now it really calculates