better files
todo
new implementation + tests
delete old file