improve assemble example