add support for custom fields