add main test program framework