kill aparapibuffer and arraybuffer, use polymorphism