added some untested maths to slant