added basis for then method