rewrote HashMap