with some changes