Ongoing work to clean up the interface + use vector more