finish esort
resolve the bug that casue segement falut since it use index 0
stable version ready for changing the data structure
ready to rewrite the buffer with a variable
fix the complie error
add buffer size option to adjust the size for various conditions