added ability to write a program