add sms capability. convert interfaces into classes. update install script