merge from openatv