separating files into a better structure