splitting the validity checks from built in security measures