support multiple type supports