Basic features, fully workable, need more test

Signed-off-by: apporc <appleorchard2000@gmail.com>