improved the organization of the non-linear algorithms creating a non_linear.py module