* Add some tests and fix some bugs * Add more helper methods * remove submodule * fix merge * also fix DirtyAll() * poke (cherry picked from commit 35ba42af9ccbbe41e8a3e59b30f2799ef8ca4b8d)