added toList, toMap, split Wrapper into a separate class