updates functional primer