refactor and add public file api