conditional required implemented