things get kinda fun when I am starting to get the hang of Functional Programming