add support for defining function bodies