reorganizing NOServer's code so it will work serially and concurrently