* verified with Valgrind mem_check
* added LRUcache