add some code and notes