implemented lru cache, renamed some files