Learn scala and functional programming