is `empty` effective here, or do we need to also do `isset`?