Update setup script
Bunch of fixes
Add documentation