seperated everything into a clearer file structure.