added part processing functionality