add int range type
change button to cpp, incomplete