added caching bits back