use linkedhashmap instead of arrayList
use ArrayList but not ok now