merge from gem-sw