better def check