added serializable extends