generated strucute by yo