Initial commit
A lot of fixes and changes