renamed functional to intelligent : interface