implemented contract between init and yoda methods (parse input to format/deal with formatted input) and moved to exceptions instead of sys.exit())