Most of the core functions
That setup task NEEDS to be run