this breaks things but seems more correct
hacks to fix (as before, but more explicit)