changes during meeting
added changes and fixes error states and horrible initialize loop
before meeting