Merge Development into Master

As the documentation is fitting the code and also the code is cleaned up and tested I would recommend pulling this branch down to the master.