add two more files
add new features
add new file
finished algorithm and tests