init version with basic input control