updating methods
make a function of functions
wrapped up the function of functions