* package refactoring * new matrix implementation (todo) * new adj list implemetation (todo) * fixed tests