starting with own ArrayList implementation