constructor parameter checking