This methoud should be splitted