implement hash imput output methods