don't remember the viewport before set
merge from dev