split files for dynamic loading