add device management function