finish parallel version