Credit for this one has to go out to dpzone as well, as some elements are re-used from his version