a few changes in strusture