add support for custom formats