[backup] merge from openatv