updates to use vector