use list is sufficient rather than array
more type synom