added output serialization
added json output serialization
added JSON support
addes full serilalization support and JSON serialization handle