add SmartScale param, presever keys & fix demo