added functional programming homework