added java.io.Serializable