added cpdefs