more function defs... again...