I think I'm doing this list pointer thing wrong. Commiting some changes so I can revert back if I need