add copyrights
impl double-linked list data structure based on list