Modify GSM module code to receive SMS and do actions accordingly

Hello again!

I've managed to somehow connect GSM with my Keypad without disabling functionality of the keypad, but now, everytime my loop which looks like this:

if (sms_position) 
       {
           // read new SMS
           Serial.print("SMS postion:");
           Serial.println(sms_position,DEC);
           sms.GetSMS(sms_position, phone_number, sms_text, 100);
           // now we have phone number string in phone_num
           Serial.println(phone_number);
           // and SMS text in sms_text
           Serial.println(sms_text);
       }   
       else
       {
           Serial.println("NO NEW SMS,WAITTING");
       }     
       delay(1000);

returns me -2 as a sms_position, so it keeps going and overloading the program and my keypad is working very slowly, and it does not receive any messages and I think that's the problem why. But why does it give -2, not -1 or something, how the hell does this even happen? Maybe some of you guys have encountered such problem before and could help me out? Thanks!

This is the GSM shield I use: https://www.ebay.com/itm/SIM900-Quad-band-GSM-GPRS-Shield-for-Arduino-UNO-MEGA-Leonardo/221176159800?epid=1555353015&hash=item337f205e38:g:ZgEAAOSw-29ZPqAk