write subprograms, and use existing subprograms, to complete program components