some changes to the structure