Merge pull request #86 from michaelnsj/cluster

Merged.
Merge pull request #87 from michaelnsj/cluster

Merged.
Merge pull request #88 from michaelnsj/cluster

Merged.
Merge pull request #89 from michaelnsj/cluster

Merged.
Merge pull request #90 from michaelnsj/cluster

Merged.
Merge pull request #91 from michaelnsj/cluster

Merged.
Merge pull request #92 from michaelnsj/cluster

Merged.
fix some bugs