add some code commetns for clarity