some changes
optional