some changes
some fine tuning