added base class and upgrader
refactor of sending SMS code