added nonTrivial stuff