dropping explicit vectors in favour of lists being dynamic arrays