initial commit with assemble structure