added equality testing for programs