First version

First commit with a working version.