Changed file structure for maintainability.