improve_2

Many changes