I'm gonna combine all the functions together into this file