complete logical