actually size and rank are not single values because they depends on which communicator you are using. we have to think how to deal with it