Commit 25

Many bug fixed