Use SList and DList, and learn how to testing code