new file algorithms