implement preprocessor mode (about 1/2 as fast as direct mode in the best case)
update ignore
make hask key dependant on cacher type