add the program for server (not completed)