add tools.cpp