Uses an array list