Refactor the device.pp spec
Still working with the spec