lecture notes 1
lecture notes 1: generic