add inputformat impl