modularized file structure