david karnes