added both constructors and array list