functional approach to js talk