diverse docs into 3 files

Signed-off-by: leetschau <leetschau@gmail.com>
add function definitions

Signed-off-by: leetschau <leetschau@gmail.com>