added parallel versions