Fragment overhaul

This might be a pain to merge...