support multiple properties with same name different visibility