paramname can be a function