Added: Cache layer and File cache + tests - fix #1