Originally by Matthew Mullins. Recoded into seperate modules by Christopher 'devilhorns' Michael