revized architecture