Refactor to support adding lists