merge diff1 from streamer45
merge stuff from streamers diff but with much change