function defs work