architecture changed to hardwaremodel