didn't change much

for functional seems like just copying and pasting stuff into functions
and calling those functions