made classes serializable for clone support