Various changes/bugfixes/optimisations