do not create directory immediately
add virtual node support for recursively add new node
standard reader/writer