end  adopt() function