Introduction

It's been a while since I've done one of these, but life has been pretty busy :P Also, this isn't the most efficient algorithm, there are several places where it could use...