changed source code file structure