Added Documentation

Added some more documentation to hopefully make this a little easier to
follow.