add algorithm module
add test files