major refactor, added clusterBy
readded cluster spacing
cleanup