Adding some caching, comments.