fix include order
more include order
implement new cache
cache works properly