def execute_cypher_transaction(tx, query, **kwargs):
    """Given a Bolt transaction object and a cypher query, execute the
    query on the transaction object and return all records in the
    query response as a list.
    """

    if kwargs:
        verbose = kwargs['verbose']
    else:
        verbose = False

    records = []
    for record in tx.run(query):
        if verbose:
            print(record)
        records.append(record)
    return records