Reorganised source code.