some basic defs