changed template back to use properties instead of public fields