abstract device & texmanger upload