Defragmenting should work 100% now

Should probably split all the new classes into their own files sometime
in the future.