def extract_sentences(doc):
    """
    Splits the document into sentences using end punctuation.

    :param doc: to split
    :return: the list of sentence strings from the document
    """
    sentences = []
    sentence_start = 0
    for i in range(len(doc)):
        if doc[i] in ('.', '?', '!'):
            sentences.append(doc[sentence_start:i])
            if i != len(doc) - 1 and doc[i+1] == ' ':
                sentence_start = i + 2
            else:
                sentence_start = i + 1
        else:
            if i == len(doc) - 1:
                sentences.append(doc[sentence_start:i + 1])
    return sentences