Some unit tests
add ability to reset cache (only works partially)
tweaking ifHelper context things