fix up wordings, refactor maps, lists to use generic type