add assemble