add saiving
ios adapt