generate full schema