Fix import path.
Reverted back to using getSerialNumber()

It looks cleaner than having all that code scattered inside newDescriptor().
Fix import statements.
Print device serial number if available.
Fix formatting and cleanup
fix import path
Merging with upstream.