changed fe to produce runnable "programs" added tests