modify spec
make a lot of changes