some changes and some addition