use proper validation