improve the math