parallel algorithms implemented