Nearly there!

Fixed a bunch of circular dependencies because I forgot those were a
thing