some changes (I am not done yet)