Lots of improvements
Forgotten files to add