Improve structure and add some notes