single link ADT implement