a lot of minor fix
more edit