add support for custom row format