primitive validation