Added pooling and switched to using Vector3's