Implementing tool interface