Functional viewpoint final v2