Updated file structure to be more clear and maintainable