add check_validity, realize next time
realize is_valid