Krzysztof Kliś - original code base
Jérôme Poulin - various fixes and performance improvements
