add API for file manipulation
modernize the project & bump version number