parameter checking