InvestorsHub Logo
Followers 507
Posts 10138
Boards Moderated 0
Alias Born 04/28/2014

Re: None

Thursday, 05/14/2015 1:51:53 PM

Thursday, May 14, 2015 1:51:53 PM

Post# of 77
$GWGH recent news/filings

bullish

## source: finance.yahoo.com

Wed, 13 May 2015 21:15:51 GMT ~ GWG HOLDINGS, INC. Files SEC form 8-K, Entry into a Material Definitive Agreement


read full: http://biz.yahoo.com/e/150513/gwgh8-k.html
*********************************************************

Tue, 12 May 2015 21:00:00 GMT ~ GWG Holdings Inc Earnings Call scheduled for 5:00 pm ET today


read full: http://biz.yahoo.com/cc/4/149594.html
*********************************************************

Tue, 12 May 2015 16:55:14 GMT ~ GWG Holdings, Inc. Announces First Quarter Financial Results

[at noodls] - GWG Holdings, Inc. Announces First Quarter Financial Results

read full: http://www.noodls.com/view/1D4DB351A41BAB0A928EB46634577BED5FABCA34
*********************************************************

Tue, 12 May 2015 16:30:00 GMT ~ GWG Holdings, Inc. Announces First Quarter Financial Results

[PR Newswire] - MINNEAPOLIS, May 12, 2015 /PRNewswire/ -- GWG Holdings, Inc. (NASDAQ: GWGH) ("GWG" or the "Company"), a specialty finance company and leader in the life insurance secondary market today ...

read full: http://finance.yahoo.com/news/gwg-holdings-inc-announces-first-163000730.html
*********************************************************

Tue, 12 May 2015 16:14:40 GMT ~ GWG HOLDINGS, INC. Files SEC form 8-K, Results of Operations and Financial Condition, Regulation FD Disclosure, Finan


read full: http://biz.yahoo.com/e/150512/gwgh8-k.html
*********************************************************

$GWGH charts

basic chart ## source: stockcharts.com



basic chart ## source: stockscores.com



big daily chart ## source: stockcharts.com



big weekly chart ## source: stockcharts.com



$GWGH company information

## source: otcmarkets.com

Link: http://www.otcmarkets.com/stock/GWGH/company-info
Ticker: $GWGH
OTC Market Place: Not Available
CIK code: not found
Company name: GWG Holdings, Inc.
Incorporated In:

Business Description: OTC Markets | Official site of the OTCQX, OTCQB and OTC Pink Marketplaces featuring Free Stock & Bond Quotes, Trade Prices, Chart, Financials and Company News & Information for Investors, Companies and Traders - OTCMarkets.com (window.NREUM||(NREUM={})).loader_config={xpid:"UwMGWVdSGwQIU1RQAgQ="};window.NREUM||(NREUM={}),__nr_require=function(t,e,n){function r(n){if(!e[n]){var o=e[n]={exports:{}};t[n][0].call(o.exports,function(e){var o=t[n][1][e];return r(o?o:e)},o,o.exports)}return e[n].exports}if("function"==typeof __nr_require)return __nr_require;for(var o=0;od;d++)c[d].apply(u,n);return u}function a(t,e){f[t]=s(t).concat(e)}function s(t){return f[t]||[]}function c(){return n(e)}var f={};return{on:a,emit:e,create:c,listeners:s,_events:f}}function r(){return{}}var o="nr@context",i=t("gos");e.exports=n()},{gos:"7eSDFh"}],ee:[function(t,e){e.exports=t("QJf3ax")},{}],3:[function(t){function e(t){try{i.console&&console.log(t)}catch(e){}}var n,r=t("ee"),o=t(1),i={};try{n=localStorage.getItem("__nr_flags").split(","),console&&"function"==typeof console.log&&(i.console=!0,-1!==n.indexOf("dev")&&(i.dev=!0),-1!==n.indexOf("nr_dev")&&(i.nrDev=!0))}catch(a){}i.nrDev&&r.on("internal-error",function(t){e(t.stack)}),i.dev&&r.on("fn-err",function(t,n,r){e(r.stack)}),i.dev&&(e("NR AGENT IN DEVELOPMENT MODE"),e("flags: "+o(i,function(t){return t}).join(", ")))},{1:23,ee:"QJf3ax"}],4:[function(t){function e(t,e,n,i,s){try{c?c-=1:r("err",[s||new UncaughtException(t,e,n)])}catch(f){try{r("ierr",[f,(new Date).getTime(),!0])}catch(u){}}return"function"==typeof a?a.apply(this,o(arguments)):!1}function UncaughtException(t,e,n){this.message=t||"Uncaught error with no additional information",this.sourceURL=e,this.line=n}function n(t){r("err",[t,(new Date).getTime()])}var r=t("handle"),o=t(6),i=t("ee"),a=window.onerror,s=!1,c=0;t("loader").features.err=!0,t(5),window.onerror=e;try{throw new Error}catch(f){"stack"in f&&(t(1),t(2),"addEventListener"in window&&t(3),window.XMLHttpRequest&&XMLHttpRequest.prototype&&XMLHttpRequest.prototype.addEventListener&&window.XMLHttpRequest&&XMLHttpRequest.prototype&&XMLHttpRequest.prototype.addEventListener&&!/CriOS/.test(navigator.userAgent)&&t(4),s=!0)}i.on("fn-start",function(){s&&(c+=1)}),i.on("fn-err",function(t,e,r){s&&(this.thrown=!0,n(r))}),i.on("fn-end",function(){s&&!this.thrown&&c>0&&(c-=1)}),i.on("internal-error",function(t){r("ierr",[t,(new Date).getTime(),!0])})},{1:10,2:9,3:7,4:11,5:3,6:24,ee:"QJf3ax",handle:"D5DuLP",loader:"G9z0Bl"}],5:[function(t){t("loader").features.ins=!0},{loader:"G9z0Bl"}],6:[function(t){function e(){}if(window.performance&&window.performance.timing&&window.performance.getEntriesByType){var n=t("ee"),r=t("handle"),o=t(1),i=t(2);t("loader").features.stn=!0,t(3),n.on("fn-start",function(t){var e=t[0];e instanceof Event&&(this.bstStart=Date.now())}),n.on("fn-end",function(t,e){var n=t[0];n instanceof Event&&r("bst",[n,e,this.bstStart,Date.now()])}),o.on("fn-start",function(t,e,n){this.bstStart=Date.now(),this.bstType=n}),o.on("fn-end",function(t,e){r("bstTimer",[e,this.bstStart,Date.now(),this.bstType])}),i.on("fn-start",function(){this.bstStart=Date.now()}),i.on("fn-end",function(t,e){r("bstTimer",[e,this.bstStart,Date.now(),"requestAnimationFrame"])}),n.on("pushState-start",function(){this.time=Date.now(),this.startPath=location.pathname+location.hash}),n.on("pushState-end",function(){r("bstHist",[location.pathname+location.hash,this.startPath,this.time])}),"addEventListener"in window.performance&&(window.performance.addEventListener("webkitresourcetimingbufferfull",function(){r("bstResource",[window.performance.getEntriesByType("resource")]),window.performance.webkitClearResourceTimings()},!1),window.performance.addEventListener("resourcetimingbufferfull",function(){r("bstResource",[window.performance.getEntriesByType("resource")]),window.performance.clearResourceTimings()},!1)),document.addEventListener("scroll",e,!1),document.addEventListener("keypress",e,!1),document.addEventListener("click",e,!1)}},{1:10,2:9,3:8,ee:"QJf3ax",handle:"D5DuLP",loader:"G9z0Bl"}],7:[function(t,e){function n(t){i.inPlace(t,["addEventListener","removeEventListener"],"-",r)}function r(t){return t[1]}var o=(t(1),t("ee").create()),i=t(2)(o),a=t("gos");if(e.exports=o,n(window),"getPrototypeOf"in Object){for(var s=document;s&&!s.hasOwnProperty("addEventListener");)s=Object.getPrototypeOf(s);s&&n(s);for(var c=XMLHttpRequest.prototype;c&&!c.hasOwnProperty("addEventListener");)c=Object.getPrototypeOf(c);c&&n(c)}else XMLHttpRequest.prototype.hasOwnProperty("addEventListener")&&n(XMLHttpRequest.prototype);o.on("addEventListener-start",function(t){if(t[1]){var e=t[1];"function"==typeof e?this.wrapped=t[1]=a(e,"nr@wrapped",function(){return i(e,"fn-",null,e.name||"anonymous")}):"function"==typeof e.handleEvent&&i.inPlace(e,["handleEvent"],"fn-")}}),o.on("removeEventListener-start",function(t){var e=this.wrapped;e&&(t[1]=e)})},{1:24,2:25,ee:"QJf3ax",gos:"7eSDFh"}],8:[function(t,e){var n=(t(2),t("ee").create()),r=t(1)(n);e.exports=n,r.inPlace(window.history,["pushState"],"-")},{1:25,2:24,ee:"QJf3ax"}],9:[function(t,e){var n=(t(2),t("ee").create()),r=t(1)(n);e.exports=n,r.inPlace(window,["requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","msRequestAnimationFrame"],"raf-"),n.on("raf-start",function(t){t[0]=r(t[0],"fn-")})},{1:25,2:24,ee:"QJf3ax"}],10:[function(t,e){function n(t,e,n){t[0]=o(t[0],"fn-",null,n)}var r=(t(2),t("ee").create()),o=t(1)(r);e.exports=r,o.inPlace(window,["setTimeout","setInterval","setImmediate"],"setTimer-"),r.on("setTimer-start",n)},{1:25,2:24,ee:"QJf3ax"}],11:[function(t,e){function n(){f.inPlace(this,p,"fn-")}function r(t,e){f.inPlace(e,["onreadystatechange"],"fn-")}function o(t,e){return e}function i(t,e){for(var n in t)e[n]=t[n];return e}var a=t("ee").create(),s=t(1),c=t(2),f=c(a),u=c(s),d=window.XMLHttpRequest,p=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"];e.exports=a,window.XMLHttpRequest=function(t){var e=new d(t);try{a.emit("new-xhr",[],e),u.inPlace(e,["addEventListener","removeEventListener"],"-",o),e.addEventListener("readystatechange",n,!1)}catch(r){try{a.emit("internal-error",[r])}catch(i){}}return e},i(d,XMLHttpRequest),XMLHttpRequest.prototype=d.prototype,f.inPlace(XMLHttpRequest.prototype,["open","send"],"-xhr-",o),a.on("send-xhr-start",r),a.on("open-xhr-start",r)},{1:7,2:25,ee:"QJf3ax"}],12:[function(t){function e(t){var e=this.params,r=this.metrics;if(!this.ended){this.ended=!0;for(var i=0;c>i;i++)t.removeEventListener(s,this.listener,!1);if(!e.aborted){if(r.duration=(new Date).getTime()-this.startTime,4===t.readyState){e.status=t.status;var a=t.responseType,f="arraybuffer"===a||"blob"===a||"json"===a?t.response:t.responseText,u=n(f);if(u&&(r.rxSize=u),this.sameOrigin){var d=t.getResponseHeader("X-NewRelic-App-Data");d&&(e.cat=d.split(", ").pop())}}else e.status=0;r.cbTime=this.cbTime,o("xhr",[e,r,this.startTime])}}}function n(t){if("string"==typeof t&&t.length)return t.length;if("object"!=typeof t)return void 0;if("undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer&&t.byteLength)return t.byteLength;if("undefined"!=typeof Blob&&t instanceof Blob&&t.size)return t.size;if("undefined"!=typeof FormData&&t instanceof FormData)return void 0;try{return JSON.stringify(t).length}catch(e){return void 0}}function r(t,e){var n=i(e),r=t.params;r.host=n.hostname+":"+n.port,r.pathname=n.pathname,t.sameOrigin=n.sameOrigin}if(window.XMLHttpRequest&&XMLHttpRequest.prototype&&XMLHttpRequest.prototype.addEventListener&&!/CriOS/.test(navigator.userAgent)){t("loader").features.xhr=!0;var o=t("handle"),i=t(2),a=t("ee"),s=["load","error","abort","timeout"],c=s.length,f=t(1);t(4),t(3),a.on("new-xhr",function(){this.totalCbs=0,this.called=0,this.cbTime=0,this.end=e,this.ended=!1,this.xhrGuids={}}),a.on("open-xhr-start",function(t){this.params={method:t[0]},r(this,t[1]),this.metrics={}}),a.on("open-xhr-end",function(t,e){"loader_config"in NREUM&&"xpid"in NREUM.loader_config&&this.sameOrigin&&e.setRequestHeader("X-NewRelic-ID",NREUM.loader_config.xpid)}),a.on("send-xhr-start",function(t,e){var r=this.metrics,o=t[0],i=this;if(r&&o){var f=n(o);f&&(r.txSize=f)}this.startTime=(new Date).getTime(),this.listener=function(t){try{"abort"===t.type&&(i.params.aborted=!0),("load"!==t.type||i.called===i.totalCbs&&(i.onloadCalled||"function"!=typeof e.onload))&&i.end(e)}catch(n){try{a.emit("internal-error",[n])}catch(r){}}};for(var u=0;c>u;u++)e.addEventListener(s,this.listener,!1)}),a.on("xhr-cb-time",function(t,e,n){this.cbTime+=t,e?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof n.onload||this.end(n)}),a.on("xhr-load-added",function(t,e){var n=""+f(t)+!!e;this.xhrGuids&&!this.xhrGuids[n]&&(this.xhrGuids[n]=!0,this.totalCbs+=1)}),a.on("xhr-load-removed",function(t,e){var n=""+f(t)+!!e;this.xhrGuids&&this.xhrGuids[n]&&(delete this.xhrGuids[n],this.totalCbs-=1)}),a.on("addEventListener-end",function(t,e){e instanceof XMLHttpRequest&&"load"===t[0]&&a.emit("xhr-load-added",[t[1],t[2]],e)}),a.on("removeEventListener-end",function(t,e){e instanceof XMLHttpRequest&&"load"===t[0]&&a.emit("xhr-load-removed",[t[1],t[2]],e)}),a.on("fn-start",function(t,e,n){e instanceof XMLHttpRequest&&("onload"===n&&(this.onload=!0),("load"===(t[0]&&t[0].type)||this.onload)&&(this.xhrCbStart=(new Date).getTime()))}),a.on("fn-end",function(t,e){this.xhrCbStart&&a.emit("xhr-cb-time",[(new Date).getTime()-this.xhrCbStart,this.onload,e],e)})}},{1:"XL7HBI",2:13,3:11,4:7,ee:"QJf3ax",handle:"D5DuLP",loader:"G9z0Bl"}],13:[function(t,e){e.exports=function(t){var e=document.createElement("a"),n=window.location,r={};e.href=t,r.port=e.port;var o=e.href.split("://");return!r.port&&o[1]&&(r.port=o[1].split("/")[0].split("@").pop().split(":")[1]),r.port&&"0"!==r.port||(r.port="https"===o[0]?"443":"80"),r.hostname=e.hostname||n.hostname,r.pathname=e.pathname,r.protocol=o[0],"/"!==r.pathname.charAt(0)&&(r.pathname="/"+r.pathname),r.sameOrigin=!e.hostname||e.hostname===document.domain&&e.port===n.port&&e.protocol===n.protocol,r}},{}],14:[function(t,e){function n(t){return function(){r(t,[(new Date).getTime()].concat(i(arguments)))}}var r=t("handle"),o=t(1),i=t(2);"undefined"==typeof window.newrelic&&(newrelic=window.NREUM);var a=["setPageViewName","addPageAction","setCustomAttribute","finished","addToTrace","inlineHit","noticeError"];o(a,function(t,e){window.NREUM[e]=n("api-"+e)}),e.exports=window.NREUM},{1:23,2:24,handle:"D5DuLP"}],"7eSDFh":[function(t,e){function n(t,e,n){if(r.call(t,e))return t[e];var o=n();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(t,e,{value:o,writable:!0,enumerable:!1}),o}catch(i){}return t[e]=o,o}var r=Object.prototype.hasOwnProperty;e.exports=n},{}],gos:[function(t,e){e.exports=t("7eSDFh")},{}],handle:[function(t,e){e.exports=t("D5DuLP")},{}],D5DuLP:[function(t,e){function n(t,e,n){return r.listeners(t).length?r.emit(t,e,n):(o[t]||(o[t]=[]),void o[t].push(e))}var r=t("ee").create(),o={};e.exports=n,n.ee=r,r.q=o},{ee:"QJf3ax"}],id:[function(t,e){e.exports=t("XL7HBI")},{}],XL7HBI:[function(t,e){function n(t){var e=typeof t;return!t||"object"!==e&&"function"!==e?-1:t===window?0:i(t,o,function(){return r++})}var r=1,o="nr@id",i=t("gos");e.exports=n},{gos:"7eSDFh"}],G9z0Bl:[function(t,e){function n(){var t=p.info=NREUM.info,e=f.getElementsByTagName("script")[0];if(t&&t.licenseKey&&t.applicationID&&e){s(d,function(e,n){e in t||(t[e]=n)});var n="https"===u.split(":")[0]||t.sslForHttp;p.proto=n?"https://":"http://",a("mark",["onload",i()]);var r=f.createElement("script");r.src=p.proto+t.agent,e.parentNode.insertBefore(r,e)}}function r(){"complete"===f.readyState&&o()}function o(){a("mark",["domContent",i()])}function i(){return(new Date).getTime()}var a=t("handle"),s=t(1),c=(t(2),window),f=c.document,u=(""+location).split("?")[0],d={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net",agent:"js-agent.newrelic.com/nr-632.min.js"},p=e.exports={offset:i(),origin:u,features:{}};f.addEventListener?(f.addEventListener("DOMContentLoaded",o,!1),c.addEventListener("load",n,!1)):(f.attachEvent("onreadystatechange",r),c.attachEvent("onload",n)),a("mark",["firstbyte",i()])},{1:23,2:14,handle:"D5DuLP"}],loader:[function(t,e){e.exports=t("G9z0Bl")},{}],23:[function(t,e){function n(t,e){var n=[],o="",i=0;for(o in t)r.call(t,o)&&(n=e(o,t[o]),i+=1);return n}var r=Object.prototype.hasOwnProperty;e.exports=n},{}],24:[function(t,e){function n(t,e,n){e||(e=0),"undefined"==typeof n&&(n=t?t.length:0);for(var r=-1,o=n-e||0,i=Array(0>o?0:o);++r

$GWGH share structure

## source: otcmarkets.com

Market Value: Not Available
Shares Outstanding: Not Available
Float: Not Available
Authorized Shares: Not Available
Par Value: Not Available

$GWGH extra dd links

Company name: GWG Holdings, Inc.
## STOCK DETAILS ##
After Hours Quote (nasdaq.com): http://www.nasdaq.com/symbol/GWGH/after-hours
Option Chain (nasdaq.com): http://www.nasdaq.com/symbol/GWGH/option-chain
Historical Prices (yahoo.com): http://finance.yahoo.com/q/hp?s=GWGH+Historical+Prices
Company Profile (yahoo.com): http://finance.yahoo.com/q/pr?s=GWGH+Profile
Industry (yahoo.com): http://finance.yahoo.com/q/in?s=GWGH+Industry

## COMPANY NEWS ##
Market Stream (nasdaq.com): http://www.nasdaq.com/symbol/GWGH/stream
Latest news (otcmarkets.com): http://www.otcmarkets.com/stock/GWGH/news - http://finance.yahoo.com/q/h?s=GWGH+Headlines

## STOCK ANALYSIS ##
Analyst Research (nasdaq.com): http://www.nasdaq.com/symbol/GWGH/analyst-research
Guru Analysis (nasdaq.com): http://www.nasdaq.com/symbol/GWGH/guru-analysis
Stock Report (nasdaq.com): http://www.nasdaq.com/symbol/GWGH/stock-report
Competitors (nasdaq.com): http://www.nasdaq.com/symbol/GWGH/competitors
Stock Consultant (nasdaq.com): http://www.nasdaq.com/symbol/GWGH/stock-consultant
Stock Comparison (nasdaq.com): http://www.nasdaq.com/symbol/GWGH/stock-comparison
Investopedia (investopedia.com): http://www.investopedia.com/markets/stocks/GWGH/?wa=0
Research Reports (otcmarkets.com): http://www.otcmarkets.com/stock/GWGH/research
Basic Tech. Analysis (yahoo.com): http://finance.yahoo.com/q/ta?s=GWGH+Basic+Tech.+Analysis
Barchart (barchart.com): http://www.barchart.com/quotes/stocks/GWGH
DTCC (dtcc.com): http://search2.dtcc.com/?q=GWG+Holdings%2C+Inc.&x=10&y=8&sp_p=all&sp_f=ISO-8859-1
Spoke company information (spoke.com): http://www.spoke.com/search?utf8=%E2%9C%93&q=GWG+Holdings%2C+Inc.
Corporation WIKI (corporationwiki.com): http://www.corporationwiki.com/search/results?term=GWG+Holdings%2C+Inc.&x=0&y=0

## FUNDAMENTALS ##
Call Transcripts (nasdaq.com): http://www.nasdaq.com/symbol/GWGH/call-transcripts
Annual Report (companyspotlight.com): http://www.companyspotlight.com/library/companies/keyword/GWGH
Income Statement (nasdaq.com): http://www.nasdaq.com/symbol/GWGH/financials?query=income-statement
Revenue/EPS (nasdaq.com): http://www.nasdaq.com/symbol/GWGH/revenue-eps
SEC Filings (nasdaq.com): http://www.nasdaq.com/symbol/GWGH/sec-filings
Latest filings (otcmarkets.com): http://www.otcmarkets.com/stock/GWGH/filings
Latest financials (otcmarkets.com): http://www.otcmarkets.com/stock/GWGH/financials
Short Interest (nasdaq.com): http://www.nasdaq.com/symbol/GWGH/short-interest
Dividend History (nasdaq.com): http://www.nasdaq.com/symbol/GWGH/dividend-history
RegSho (regsho.com): http://www.regsho.com/tools/symbol_stats.php?sym=GWGH&search=search
OTC Short Report (otcshortreport.com): http://otcshortreport.com/index.php?index=GWGH
Short Sales (otcmarkets.com): http://www.otcmarkets.com/stock/GWGH/short-sales
Key Statistics (yahoo.com): http://finance.yahoo.com/q/ks?s=GWGH+Key+Statistics
Insider Roster (yahoo.com): http://finance.yahoo.com/q/ir?s=GWGH+Insider+Roster
Income Statement (yahoo.com): http://finance.yahoo.com/q/is?s=GWGH
Balance Sheet (yahoo.com): http://finance.yahoo.com/q/bs?s=GWGH
Cash Flow (yahoo.com): http://finance.yahoo.com/q/cf?s=GWGH+Cash+Flow&annual

## HOLDINGS ##
Major holdings (cnbc.com): http://data.cnbc.com/quotes/GWGH/tab/8.1
Insider transactions (yahoo.com): http://finance.yahoo.com/q/it?s=GWGH+Insider+Transactions
Insider transactions (secform4.com): http://www.secform4.com/insider-trading/GWGH.htm
Insider transactions (insidercrow.com): http://www.insidercow.com/history/company.jsp?company=GWGH
Ownership Summary (nasdaq.com): http://www.nasdaq.com/symbol/GWGH/ownership-summary
Institutional Holdings (nasdaq.com): http://www.nasdaq.com/symbol/GWGH/institutional-holdings
Insiders (SEC Form 4) (nasdaq.com): http://www.nasdaq.com/symbol/GWGH/insider-trades
Insider Disclosure (otcmarkets.com): http://www.otcmarkets.com/stock/GWGH/insider-transactions

## SOCIAL MEDIA AND OTHER VARIOUS SOURCES ##
PST (pennystocktweets.com): http://www.pennystocktweets.com/stocks/profile/GWGH
Market Watch (marketwatch.com): http://www.marketwatch.com/investing/stock/GWGH
Bloomberg (bloomberg.com): http://www.bloomberg.com/quote/GWGH:US
Morningstar (morningstar.com): http://quotes.morningstar.com/stock/s?t=GWGH
Bussinessweek (businessweek.com): http://investing.businessweek.com/research/stocks/snapshot/snapshot_article.asp?ticker=GWGH



$GWGH DD Notes ~ http://www.ddnotesmaker.com/GWGH

Join the InvestorsHub Community

Register for free to join our community of investors and share your ideas. You will also get access to streaming quotes, interactive charts, trades, portfolio, live options flow and more tools.