this time with more correct math