smart hash