Trying to fix a cyclic dependency from hell, but for now, i'll commit the code as it is now, since it otherwise passes check()