add array list implementation