Added caching function
Added hightlighting