Modified AbstractDevice