refactor shouldn't impact external apis and mostly just moves stuff around to make sense documentation-wise Co-authored-by: zaaarf <me@zaaarf.foo>