finished implementing tool class