Initial implementation and spec tests.

For this, a config file would be potentially nicer. It would allow a user to see everything in one file as opposed to many separate files.