add support for function args