uses correct tangent angle now. need to test with visualization