Implements a Hash table