cleaned up program