error handling
finish stream and lazyness
first part of state
finish state