sane V() and P() logic