did more work on the Device model