Finished up cache module. Not tested\!