first commit, implemented the main classes for the algorithms, trying out the different boost data structures