break up big function
continue breaking up big fn