simplified caching, simplified visitor class, new toolkit