refactored hashit