a ton of bugfixes