user validation implementation functional