add assemble methods