add some functional programming things
remove unused packages