return ingleton gen descend class singleton singleton 