A Software Defined Device