implemented simple expanding arraylist data struct