add notes and start to create required classes