added comments)