I could say a lot of additional code...

In this special category on GSM there are many examples... Just search through. I warn you it is not an easy project...

Ioannis