make setting up properties generic