created another own-defined list which can support multiple data types