modify an existing program, or components of a program, to enable it to complete a different task