updated is_valid stuff