basic multiprocessing framework