lots of changes & some new classes