exchange for assemble