changed tool implementation