add tests and update getFileParts()