use mit license
int -> uint for avoid warning
use InitOnOff