added rank and size operations