added serializable
Merge origin/master