retain the order of the materials