Originally by Vincent 'caro' Torri, additions by various Enlightenment developers
Update for E22 by Andrew 'ajwillia.ms' Williams <http://ajwillia.ms/>