clustering algorithm + tests