added common Schema, support for Option, and Avro backend