Big restructure and reformat.