added the rest of the fragments, needs reworking