Added dependency injection
Added additional filesystem tests