start on fragmentation
interface for fragmentation
factor out common stuff
parts of fragmentation