source code structure reorganization