implemented internal comments