added builtin_def, need testing