some changes in the process of fixing this program