change to fragment to make the project more scalable, and the file structure more clear