added comments and annotations