more flexible expire check