+ refactoring for cross platform file paths