adding `notEmpty` check