better documentation of sms model, refinement in other places