A little bit of cleanup and generalization
Renames and moves
SHit