implemented new linedlist in functional instantiation pattern