use Exception#backtrace instead of caller