math improve! workable, not optimal