Original by gigaherz
Ported by Glitched steve 