modularization and added data folder