untested cluster algorithm
windows threading, untested
reading should work