add information about functional programming