merge from karyon2.0