New much better structure for files and functions