maybe use an array buffer..groan...