Initial Commit of Program

This is already fully functional as of this commit. Look in readme for
more instructions.