many changes... no time to comment