Initial working version
Add docs