update functional architecture