initialized with assemble