change from List.get() to at()
implement List/Map setVal()