Closes #71 (closed)
TODO: check crossing angle and make a separate issue on optimizing clustering algorithm