Device re-structurization

Addresses #48 checklist