file restructuring and full modularization