make an array of parents optional.  ensures an object is given to constructor