Originally developed by  Krzysztof Gajos.