add generic for hashmap
change gitignore
layout change