I don't like the method name "assemble". Do you have a better thought ?