making device param optional