lots of changes 1