Rearranged the modules
MAJOR: got rid of start() method for the SMC
PATCH: added error handling state
MAJOR: introduced error and initial built in states
Wrote documentation