dunno why I used a hashmap