splits out breakdown logic into its own file, sorts out indentation inconsistencies