Implement most of the features and a first stab at a readme.
Add a license