some changes ^_^