##design principle

design idea is pretty simple :

##code structure

Error detection and Handling