We need to make this run and then get it to work for arbitrary length vectors