modified dir struct and moved cache to sub-module