split tasks.clj into tools.clj, added caching blocker in facts