beginning of serialize support