Modified to include all checks