We present a new algorithm for unbound (real life) docking of molecules, whether protein-protein or protein-drug. The algorithm carries out rigid docking, with surface variability/flexibility implicitly addressed through liberal intermolecular penetration. The high efficiency of the algorithm is the outcome of several factors: (i) focusing initial molecular surface fitting on localized, curvature based surface patches; (ii) use of Geometric Hashing and Pose Clustering for initial transformation detection; (iii) accurate computation of shape complementarity utilizing the Distance Transform; (iv) efficient steric clash detection and geometric fit scoring based on a multi-resolution shape representation; and (v) utilization of biological information by focusing on hot spot rich surface patches. The algorithm has been implemented and applied to a large number of cases.