function arguments still need care