added gsm with minor fixes