New version (with is_up())