Fix some bug.
Merge remote-tracking branch 'maemual/master'
my work is over again.