moved multipart assemble to backend