This isn't fully performant yet. To be fully performant, we'd need to do everything in one giant buffer.