Make sure the old way always triggers a warnings.
Small code changes, use && and || instead of or and and.