added other device funcs