IMPROVE: simplify implementation by using Float32List to hold vertices