start refactoring to use linked-list append()s