adding ability to create a unique list, abstracting templates