Initial implementation and spec tests.

I will go with a yaml config file i think.