Not sure about this implementation

- Will look at branching and allowing a set amount of threads to be used instead