What is Legacy Software, and Why Must it Change