few changes to the structure