Everything working as expected except 4th method
Fixing last method with simpler calculus