Created by Patch Hofweber
Contributed by Lars Pryds
Contributed by Patch Hofweber
Contributed by Matheus Fragoso