create an own-defined list which can support multiple data types