Rewrote the configuration and added a choice of hash