Update to use properties instead of definitions