added caching and some minor gulp tweeks