Probably we need to review --> line 96 to 101 (array order) as we cannot make sure the order is always the same.