expanded and refined function oriented JS talk