refactor mostly the test tools to get better diagnostics if some values differ