add new tools and stack.cpp