Add multithreading (could be improved upon)
Merge branch 'feature/multithreaded' into develop