adding data clustering with tests

Closes  #284.