Use List to replace ArrayList to improve performance