Updated after splitting functions into separate files
Functions split into own files