use properties instead of switches