added DBSCAN implementation