Original author:
     Torbjorn Tornkvist

With patches from:
     Simon MacMullen
     Manuel DurĂ¡n Aguete
     voluntas