implementing list; in progress