real changes start here, the rest is from the eclipse code formatter