close #42, close #37: Merge branch 'develop'
close #43: Merge branch 'develop'
#44 do not use Cmd to modify the open behavior