validation first...