complete source code and addition print infomation