Bleeding merge

Adds all changes from the bleeding branch, all are now working.