*: use new defrecordp