supporting all kinds of interfaces and all kinds of devices