added preventive check function