added data source descriptions, switched write to protocol buffers built in