some changes in structure