changed to arraylist in abstract class