Chemistry and technology of fabric preparation and finishing