merge with master

sync and merge attempt