allow mapping of fields to functions