add file rollback function
add support atomic syntax
support removing old file