generate in CDOObject