updating filesystem implementation to use metadata