made change to let typedef drive whether everything uses list or vector, but havent run it and it very well might explode beautifully