renamed to Device, to be more generic/reusable