File : Implementation with tests