Almost have ported options over to using new vector and types