added some parallel processing capabilities