support csv directly