rewrite in a more level headed style