finished dynamic array but interface is weird