added separate port and driver support