add some tools, and a base test class