implemented rest of Tools functions