complete and test the program ok