adding generic tools