Added better comments to represent classes better. Also added a new bitmaplrucache class to handle caching.
Added a better message when we don't find anything
added some final touches