changes and improvement