working on general tool