Functional programming added