looping alot of the functions together