diff --git a/.gitignore b/.gitignore
index a0863a7..507551e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,4 @@
 lua/Trans/util/
 lua/Trans/core/
+note/
+go/
diff --git a/go/go.mod b/go/go.mod
deleted file mode 100644
index 606edce..0000000
--- a/go/go.mod
+++ /dev/null
@@ -1,3 +0,0 @@
-module query_online
-
-go 1.19
diff --git a/go/query_online.go b/go/query_online.go
deleted file mode 100644
index fc5345e..0000000
--- a/go/query_online.go
+++ /dev/null
@@ -1,50 +0,0 @@
-package query_youcao
-
-import (
-	"net/url"
-	"time"
-)
-
-const (
-	youdao    = "https://openapi.youdao.com/api"
-	appKey    = "1858465a8708c121"
-	appPasswd = "fG0sitfk16nJOlIlycnLPYZn1optxUxL"
-)
-
-type data struct {
-	q        string
-	from     string
-	to       string
-	// appKey   string
-	salt     string
-	sign     string
-	signType string
-	curtime  string
-}
-
-
-func input(word string) string {
-	var input string
-	len := len(word)
-	if len > 20 {
-		input = word[:10] + string(rune(len)) + word[len-10:]
-	} else {
-		input = word
-	}
-	return input
-}
-
-func salt(_ string) string {
-	// TODO : hash salt
-	var salt string
-
-	return salt
-}
-
-func to_value(d data) url.Values {
-	// return value
-}
-
-func Query(word string) {
-
-}
diff --git a/install.sh b/install.sh
index a939dce..a9adb84 100755
--- a/install.sh
+++ b/install.sh
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/usr/bin/env bash
 set -e
 
 if [[ -d "$HOME/.vim" ]]; then
diff --git a/note/api.md b/note/api.md
deleted file mode 100644
index 3b4d0ef..0000000
--- a/note/api.md
+++ /dev/null
@@ -1,132 +0,0 @@
-# API说明
-
-<!--toc:start-->
-- [API说明](#api说明)
-  - [数据结构](#数据结构)
-    - [翻译](#翻译)
-    - [窗口](#窗口)
-    - [翻译结果](#翻译结果)
-    - [内容单位](#内容单位)
-- [窗口绘制逻辑](#窗口绘制逻辑)
-  - [hover](#hover)
-  - [float](#float)
-<!--toc:end-->
-
-## 数据结构
-
-### 翻译
-- `word`  
-待翻译的字符串: string
-- `sentence`  
-是否为句子: boolean
-- `result`  
-翻译查询的结果: table
-    > 见: [翻译结果](#翻译结果) 
-- `engine`  
-
-### 窗口
-- `style`  
-风格: string
-- `height`  
-高度: integer
-- `width`  
-宽度: integer
-- `border`  
-边框样式: string
-- `winhl`  
-窗口的高亮: string
-
-### 翻译结果
-**无特殊说明, 所有字段均为`string`类型** 
-
-- `word`  
-查询的字符串
-- `phonetic`  
-音标
-- `collins`  
-柯林斯星级: integer
-- `oxford` 
-是否为牛津词汇: integer (1为是)
-- `tag`  
-标签
-- `pos`  
-词性
-- `exchange`  
-词态变化
-- `translation`  
-中文翻译
-- `definition`  
-英文注释
-
-
-### 内容单位
-- `field` 字段
-    > 是展示的最小单位  
-
-    **属性**
-    - `1`
-    存储的文本: string
-    - `2`  (optional)
-    对应的高亮: string
-    - `_start`  
-    起始行: integer
-    - `_end`  
-    结束行: integer
-    > **注意:** `_start` 和`_end` 字段只有已经被展示到窗口后才会被设置  
-
-    **方法** 
-    - 无 
-
-- `line` 行
-    > 窗口展示的每一行, 一个行有多个`field`
-
-    **属性**
-    - `text`  
-    当前保存的字符串: string
-    - `hls`  
-    行内的高亮: table
-    - `index`  
-    行号[0为起始下标]
-    - `fields`  
-    行内保存的`field`
-    - `status`  
-    行内是否需要更新: boolean
-    > **注意:** `num` 只有已经被展示到窗口后才会被设置
-
-    **方法** 
-    - `update`  
-    更新`text`和`hls`
-    - `data`  
-    获取行的text
-    - `insert`  
-    添加新`field`
-    - `add_highlight`  
-    添加高亮
-        > 参数: bufnr
-
-- `content` 内容
-    > 窗口展示的单位, 一个内容内有多个`line`
-    
-    **方法** 
-    - `data`  
-    返回lines和highlights
-    - `insert` 
-    插入新的行
-    - `attach`  
-    将内容展示到buffer
-        > 参数: bufnr
-
-# 窗口绘制逻辑
-
-- 获取所有组件
-## hover
-- 按照order顺序加载
-- 按组件间距为4计算组件个数能否在一行以内放下
-    - 放不下则按照组件间距为4 计算组件个数并对齐
-    - 放得下则重新计算组间距
-
-获得组件行内容, 设置到行内
-获取组件高亮, 设置高亮
-
-## float
-由定义好的逻辑,绘制整个窗口
diff --git a/note/engine.md b/note/engine.md
deleted file mode 100644
index 4999dc9..0000000
--- a/note/engine.md
+++ /dev/null
@@ -1,129 +0,0 @@
-# 字段说明
-
-<!--toc:start-->
-- [字段说明](#字段说明)
-  - [本地](#本地)
-  - [有道](#有道)
-    - [中英](#中英)
-  - [百度](#百度)
-    - [返回结果](#返回结果)
-  - [彩云小译](#彩云小译)
-  - [必应](#必应)
-  - [腾讯翻译君](#腾讯翻译君)
-  - [阿里翻译](#阿里翻译)
-  - [火山翻译](#火山翻译)
-  - [金山词霸](#金山词霸)
-<!--toc:end-->
-
-## 本地
-- `word`  
-查询的字符串
-- `phonetic`  
-音标
-- `collins`  
-柯林斯星级: integer
-- `oxford` 
-是否为牛津词汇: integer (1为是)
-- `tag`  
-标签
-- `pos`  
-词性
-- `exchange`  
-词态变化
-- `translation`  
-中文翻译
-- `definition`  
-英文注释
-
-## 有道
-### 中英
-
-basic	JSONObject	简明释义
-phonetic	text	词典音标
-usPhonetic	text	美式音标
-ukPhonetic	text	英式音标
-ukSpeech	text	英式发音
-usSpeech	text	美式发音
-explains	text	基本释义
-text	text	短语
-explain	String Array	词义解释列表
-wordFormats	Object Array	单词形式变化列表
-name	String	形式名称,例如:复数
-web	JSONArray	网络释义
-phrase	String	词组
-meaning	String	含义
-synonyms	JSONObject	近义词
-pos	String	词性
-words	String Array	近义词列表
-trans	String	释义
-antonyms	ObjectArray	反义词
-relatedWords	JSONArray	相关词
-wordNet	JSONObject	汉语词典网络释义
-phonetic	String	发音
-meanings	ObjectArray	释义
-meaning	String	释义
-example	array	示例
-dict	String	词典deeplink
-webDict	String	词典网页deeplink
-sentenceSample	text	例句
-sentence	text	例句
-sentenceBold	text	将查询内容加粗的例句
-translation	text	例句翻译
-wfs	text	单词形式变化
-exam_type	text	考试类型
-
-## 百度
-from	string	源语言	返回用户指定的语言,或者自动检测出的语种(源语言设为auto时)
-to	string	目标语言	返回用户指定的目标语言
-trans_result	array	翻译结果	返回翻译结果,包括src和dst字段
-trans_result.*.src	string	原文	接入举例中的“apple”
-trans_result.*dst	string	译文	接入举例中的“苹果”
-error_code	integer	错误码	仅当出现错误时显示
-以下字段仅开通了词典、tts用户可见
-src_tts	string	原文tts链接	mp3格式,暂时无法指定发音
-dst_tts	string	译文tts链接	mp3格式,暂时无法指定发音
-dict	string	中英词典资源	返回中文或英文词典资源,包含音标;简明释义等内容
-
-### 返回结果
-- 英-> 中
-```json
-{
-    "from": "en", 
-    "to": "zh", 
-    "trans_result": [
-        {
-            "src": "apple", 
-            "dst": "苹果"
-        }
-    ]
-}
-```
-- 中->英
-```json
-{
-    "from": "zh", 
-    "to": "en", 
-    "trans_result": [
-        {
-            "src": "中国", 
-            "dst": "China"
-        }
-    ]
-}
-```
-## 彩云小译
-句子翻译
-> sh xiaoyi.sh en2zh "You know some birds are not meant to be caged, their feathers are just too bright."
-> 你知道有些鸟不应该被关在笼子里,它们的羽毛太亮了。
-
-## 必应
-
-## 腾讯翻译君
-
-## 阿里翻译
-
-## 火山翻译
-
-## 金山词霸
-
-## Dictionary
diff --git a/note/logic.md b/note/logic.md
deleted file mode 100644
index fda9162..0000000
--- a/note/logic.md
+++ /dev/null
@@ -1,96 +0,0 @@
-# 命令说明
-
-<!--toc:start-->
-- [命令说明](#命令说明)
-  - [Translate](#translate)
-  - [TranslateInput](#translateinput)
-  - [TranslateHistory](#translatehistory)
-  - [自定义](#自定义)
-    - [可选项说明](#可选项说明)
-    - [示例](#示例)
-<!--toc:end-->
-
-## Translate
-**窗口风格默认为:** `cursor`
-- 动作(action):
-    - `vsplit`         水平分屏
-    - `split`          垂直分屏
-    - `float`          窗口样式又`cursor` 变为`float`
-    - `online_query`   使用在线引擎重新进行查询
-    - `history_insert` 将此次查询的单词记录到历史记录  
-    - `next`           展示下一个引擎的查询结果(如果默认设置了多个引擎)
-    - `prev`           展示上一个查询结果
-    > 如果没有设置自动保存历史的话
-
-    - `history`        查看历史查询的记录
-
-- `online_query`:
-    - `local_add`    将此次查询的结果添加到本地数据库  
-    > **如果本地已经存在该单词,会询问是否需要覆盖掉相同的字段**
-
-    - `local_update` 和*local_add* 类似, 但是不会询问是否覆盖
-    - `diff`         对比本地查询结果和此次在线查询的区别
-
->  **注意**: 动作是任何窗口通用的  
-## TranslateInput
-**窗口风格默认为:** `float`
-- 自行得到要查询的单词
-
-- TODO: 
-    - fuzzy match
-
-## TranslateHistory
-**窗口风格默认为:** `float`
-- 查看历史查询
-
----
-## 自定义
-
-### 可选项说明
-- 查询方式(method): `string`
-    - `input` 自行输入需要查询的单词
-    - `last`  显示上一次查询的结果
-    - `history`
-
-- 查询引擎(engine): `string | table`
-    - `offline` 离线的数据库
-    - `youcao` 有道api
-    - `baidu` 百度api
-    - `google` 谷歌api
-    - `bing` 必应api
-    - `iciba` 金山词霸api
-    - `xunfei` 讯飞api
-
-- 窗口风格(win): `string | table`
-    - 样式(style): 
-        - `cursor` 在光标附近弹出
-        - `float` 悬浮窗口
-        - `split` 在上方或者下方分屏
-        - `vsplit` 在左边或者右边分屏
-
-    - 高度(height):
-        - `value > 1` 最大高度
-        - `0 <= value <= 1` 相对高度
-        - `0 < value` 无限制
-
-    - 宽度(width):
-        > 和`高度(height)`相同
-### 示例
-```lua
-vim.keymap.set('n', 'mi', function ()
-    require('Trans').translate({
-        method = 'input', -- 不填则自动判断mode获取查询的单词
-        engine = { -- 异步查询所有的引擎, 按照列表
-            'offline',
-            'youdao',
-            'baidu'
-        },
-        -- win = 'cursor'
-        win = {
-            style = 'cursor',
-            height = 50,
-            width = 30,
-        }
-    })
-end, { desc = '在光标旁弹出输入的单词释义'})
-```