setup the base framework of how the tool should work