Please review branch feature/threadsafe