Improve is_new behavior to be more correct