lots of changes this time