big and long commit, with a lot of changes and bugfixes, also changes in the style