source code reorganisation