WIP: start implementing custom thread pool