split math into components, see #50