brouht msos io over
updated top level to accept stated and input buffer
updated program runs for buffer and undeclared state
merged semantics of IO and local vars