cache sim seemingly working, need to check and refactor