adds functional programming details