functions now run by separate files, not by main (main only loads files, it should never load functions - only ever be slightly configured at the most