w———r———iti—n——g———s—— c———om—po———sit——i—o—ns——— so—f——t——w—a——r——e