a lot

a lot of changes