moved buildList function to more appropriate location and changed Array() implementation back to how Andrew had it