A general-purpose algorithm is proposed for Independent Component Analysis. This algorithm is specifically designed in order to handle non-differentiable contrast functions. Sources are extracted one at a time (deflation approach). Examples are given for recently published contrast functions, e.g. the support width of the estimated source distribution.