can write original data, but still has a bug when create file