Created generic tool class. Still needs some work though