registration && validation