What is the use of custom serialization ?where do we use it?how does it differ from other serializations?