generalize renderProperty