Its getting pretty usable by now (parallelization needed!)