funcionally complete