towards using threads for the roles...