little change in tool structure (tool is derived from BasicTool)