support for function declarations