added hash map option