Boilerplate for new functions
support filter and agg