refactor not None