Dynamic load ALg modules
Design general export ftns for alg modules
Allow call alg modules without know the header file
Refactor