dat functional programming tho