Large update from other repo
Fixed merged conflicts