support type both