Merge github.com:grpc/grpc into gource
diff --git a/BUILD b/BUILD
index 7f8d8a42..ef78f44 100644
--- a/BUILD
+++ b/BUILD
@@ -44,62 +44,62 @@
 cc_library(
   name = "gpr",
   srcs = [
-    "src/core/profiling/timers.h",
-    "src/core/support/backoff.h",
-    "src/core/support/block_annotate.h",
-    "src/core/support/env.h",
-    "src/core/support/load_file.h",
-    "src/core/support/murmur_hash.h",
-    "src/core/support/stack_lockfree.h",
-    "src/core/support/string.h",
-    "src/core/support/string_win32.h",
-    "src/core/support/thd_internal.h",
-    "src/core/support/time_precise.h",
-    "src/core/support/tmpfile.h",
-    "src/core/profiling/basic_timers.c",
-    "src/core/profiling/stap_timers.c",
-    "src/core/support/alloc.c",
-    "src/core/support/avl.c",
-    "src/core/support/backoff.c",
-    "src/core/support/cmdline.c",
-    "src/core/support/cpu_iphone.c",
-    "src/core/support/cpu_linux.c",
-    "src/core/support/cpu_posix.c",
-    "src/core/support/cpu_windows.c",
-    "src/core/support/env_linux.c",
-    "src/core/support/env_posix.c",
-    "src/core/support/env_win32.c",
-    "src/core/support/histogram.c",
-    "src/core/support/host_port.c",
-    "src/core/support/load_file.c",
-    "src/core/support/log.c",
-    "src/core/support/log_android.c",
-    "src/core/support/log_linux.c",
-    "src/core/support/log_posix.c",
-    "src/core/support/log_win32.c",
-    "src/core/support/murmur_hash.c",
-    "src/core/support/slice.c",
-    "src/core/support/slice_buffer.c",
-    "src/core/support/stack_lockfree.c",
-    "src/core/support/string.c",
-    "src/core/support/string_posix.c",
-    "src/core/support/string_win32.c",
-    "src/core/support/subprocess_posix.c",
-    "src/core/support/subprocess_windows.c",
-    "src/core/support/sync.c",
-    "src/core/support/sync_posix.c",
-    "src/core/support/sync_win32.c",
-    "src/core/support/thd.c",
-    "src/core/support/thd_posix.c",
-    "src/core/support/thd_win32.c",
-    "src/core/support/time.c",
-    "src/core/support/time_posix.c",
-    "src/core/support/time_precise.c",
-    "src/core/support/time_win32.c",
-    "src/core/support/tls_pthread.c",
-    "src/core/support/tmpfile_posix.c",
-    "src/core/support/tmpfile_win32.c",
-    "src/core/support/wrap_memcpy.c",
+    "src/core/lib/profiling/timers.h",
+    "src/core/lib/support/backoff.h",
+    "src/core/lib/support/block_annotate.h",
+    "src/core/lib/support/env.h",
+    "src/core/lib/support/load_file.h",
+    "src/core/lib/support/murmur_hash.h",
+    "src/core/lib/support/stack_lockfree.h",
+    "src/core/lib/support/string.h",
+    "src/core/lib/support/string_win32.h",
+    "src/core/lib/support/thd_internal.h",
+    "src/core/lib/support/time_precise.h",
+    "src/core/lib/support/tmpfile.h",
+    "src/core/lib/profiling/basic_timers.c",
+    "src/core/lib/profiling/stap_timers.c",
+    "src/core/lib/support/alloc.c",
+    "src/core/lib/support/avl.c",
+    "src/core/lib/support/backoff.c",
+    "src/core/lib/support/cmdline.c",
+    "src/core/lib/support/cpu_iphone.c",
+    "src/core/lib/support/cpu_linux.c",
+    "src/core/lib/support/cpu_posix.c",
+    "src/core/lib/support/cpu_windows.c",
+    "src/core/lib/support/env_linux.c",
+    "src/core/lib/support/env_posix.c",
+    "src/core/lib/support/env_win32.c",
+    "src/core/lib/support/histogram.c",
+    "src/core/lib/support/host_port.c",
+    "src/core/lib/support/load_file.c",
+    "src/core/lib/support/log.c",
+    "src/core/lib/support/log_android.c",
+    "src/core/lib/support/log_linux.c",
+    "src/core/lib/support/log_posix.c",
+    "src/core/lib/support/log_win32.c",
+    "src/core/lib/support/murmur_hash.c",
+    "src/core/lib/support/slice.c",
+    "src/core/lib/support/slice_buffer.c",
+    "src/core/lib/support/stack_lockfree.c",
+    "src/core/lib/support/string.c",
+    "src/core/lib/support/string_posix.c",
+    "src/core/lib/support/string_win32.c",
+    "src/core/lib/support/subprocess_posix.c",
+    "src/core/lib/support/subprocess_windows.c",
+    "src/core/lib/support/sync.c",
+    "src/core/lib/support/sync_posix.c",
+    "src/core/lib/support/sync_win32.c",
+    "src/core/lib/support/thd.c",
+    "src/core/lib/support/thd_posix.c",
+    "src/core/lib/support/thd_win32.c",
+    "src/core/lib/support/time.c",
+    "src/core/lib/support/time_posix.c",
+    "src/core/lib/support/time_precise.c",
+    "src/core/lib/support/time_win32.c",
+    "src/core/lib/support/tls_pthread.c",
+    "src/core/lib/support/tmpfile_posix.c",
+    "src/core/lib/support/tmpfile_win32.c",
+    "src/core/lib/support/wrap_memcpy.c",
   ],
   hdrs = [
     "include/grpc/support/alloc.h",
@@ -157,308 +157,308 @@
 cc_library(
   name = "grpc",
   srcs = [
-    "src/core/census/grpc_filter.h",
-    "src/core/census/grpc_plugin.h",
-    "src/core/channel/channel_args.h",
-    "src/core/channel/channel_stack.h",
-    "src/core/channel/channel_stack_builder.h",
-    "src/core/channel/client_channel.h",
-    "src/core/channel/compress_filter.h",
-    "src/core/channel/connected_channel.h",
-    "src/core/channel/context.h",
-    "src/core/channel/http_client_filter.h",
-    "src/core/channel/http_server_filter.h",
-    "src/core/channel/subchannel_call_holder.h",
-    "src/core/client_config/client_config.h",
-    "src/core/client_config/connector.h",
-    "src/core/client_config/initial_connect_string.h",
-    "src/core/client_config/lb_policies/load_balancer_api.h",
-    "src/core/client_config/lb_policies/pick_first.h",
-    "src/core/client_config/lb_policies/round_robin.h",
-    "src/core/client_config/lb_policy.h",
-    "src/core/client_config/lb_policy_factory.h",
-    "src/core/client_config/lb_policy_registry.h",
-    "src/core/client_config/resolver.h",
-    "src/core/client_config/resolver_factory.h",
-    "src/core/client_config/resolver_registry.h",
-    "src/core/client_config/resolvers/dns_resolver.h",
-    "src/core/client_config/resolvers/sockaddr_resolver.h",
-    "src/core/client_config/subchannel.h",
-    "src/core/client_config/subchannel_factory.h",
-    "src/core/client_config/subchannel_index.h",
-    "src/core/client_config/uri_parser.h",
-    "src/core/compression/algorithm_metadata.h",
-    "src/core/compression/message_compress.h",
-    "src/core/debug/trace.h",
-    "src/core/http/format_request.h",
-    "src/core/http/httpcli.h",
-    "src/core/http/parser.h",
-    "src/core/iomgr/closure.h",
-    "src/core/iomgr/endpoint.h",
-    "src/core/iomgr/endpoint_pair.h",
-    "src/core/iomgr/exec_ctx.h",
-    "src/core/iomgr/executor.h",
-    "src/core/iomgr/fd_posix.h",
-    "src/core/iomgr/iocp_windows.h",
-    "src/core/iomgr/iomgr.h",
-    "src/core/iomgr/iomgr_internal.h",
-    "src/core/iomgr/iomgr_posix.h",
-    "src/core/iomgr/pollset.h",
-    "src/core/iomgr/pollset_posix.h",
-    "src/core/iomgr/pollset_set.h",
-    "src/core/iomgr/pollset_set_posix.h",
-    "src/core/iomgr/pollset_set_windows.h",
-    "src/core/iomgr/pollset_windows.h",
-    "src/core/iomgr/resolve_address.h",
-    "src/core/iomgr/sockaddr.h",
-    "src/core/iomgr/sockaddr_posix.h",
-    "src/core/iomgr/sockaddr_utils.h",
-    "src/core/iomgr/sockaddr_win32.h",
-    "src/core/iomgr/socket_utils_posix.h",
-    "src/core/iomgr/socket_windows.h",
-    "src/core/iomgr/tcp_client.h",
-    "src/core/iomgr/tcp_posix.h",
-    "src/core/iomgr/tcp_server.h",
-    "src/core/iomgr/tcp_windows.h",
-    "src/core/iomgr/time_averaged_stats.h",
-    "src/core/iomgr/timer.h",
-    "src/core/iomgr/timer_heap.h",
-    "src/core/iomgr/udp_server.h",
-    "src/core/iomgr/unix_sockets_posix.h",
-    "src/core/iomgr/wakeup_fd_pipe.h",
-    "src/core/iomgr/wakeup_fd_posix.h",
-    "src/core/iomgr/workqueue.h",
-    "src/core/iomgr/workqueue_posix.h",
-    "src/core/iomgr/workqueue_windows.h",
-    "src/core/json/json.h",
-    "src/core/json/json_common.h",
-    "src/core/json/json_reader.h",
-    "src/core/json/json_writer.h",
-    "src/core/proto/grpc/lb/v0/load_balancer.pb.h",
-    "src/core/statistics/census_interface.h",
-    "src/core/statistics/census_rpc_stats.h",
-    "src/core/surface/api_trace.h",
-    "src/core/surface/call.h",
-    "src/core/surface/call_test_only.h",
-    "src/core/surface/channel.h",
-    "src/core/surface/channel_init.h",
-    "src/core/surface/channel_stack_type.h",
-    "src/core/surface/completion_queue.h",
-    "src/core/surface/event_string.h",
-    "src/core/surface/init.h",
-    "src/core/surface/lame_client.h",
-    "src/core/surface/server.h",
-    "src/core/surface/surface_trace.h",
-    "src/core/transport/byte_stream.h",
-    "src/core/transport/chttp2/alpn.h",
-    "src/core/transport/chttp2/bin_encoder.h",
-    "src/core/transport/chttp2/frame.h",
-    "src/core/transport/chttp2/frame_data.h",
-    "src/core/transport/chttp2/frame_goaway.h",
-    "src/core/transport/chttp2/frame_ping.h",
-    "src/core/transport/chttp2/frame_rst_stream.h",
-    "src/core/transport/chttp2/frame_settings.h",
-    "src/core/transport/chttp2/frame_window_update.h",
-    "src/core/transport/chttp2/hpack_encoder.h",
-    "src/core/transport/chttp2/hpack_parser.h",
-    "src/core/transport/chttp2/hpack_table.h",
-    "src/core/transport/chttp2/http2_errors.h",
-    "src/core/transport/chttp2/huffsyms.h",
-    "src/core/transport/chttp2/incoming_metadata.h",
-    "src/core/transport/chttp2/internal.h",
-    "src/core/transport/chttp2/status_conversion.h",
-    "src/core/transport/chttp2/stream_map.h",
-    "src/core/transport/chttp2/timeout_encoding.h",
-    "src/core/transport/chttp2/varint.h",
-    "src/core/transport/chttp2_transport.h",
-    "src/core/transport/connectivity_state.h",
-    "src/core/transport/metadata.h",
-    "src/core/transport/metadata_batch.h",
-    "src/core/transport/static_metadata.h",
-    "src/core/transport/transport.h",
-    "src/core/transport/transport_impl.h",
-    "src/core/security/auth_filters.h",
-    "src/core/security/b64.h",
-    "src/core/security/credentials.h",
-    "src/core/security/handshake.h",
-    "src/core/security/json_token.h",
-    "src/core/security/jwt_verifier.h",
-    "src/core/security/secure_endpoint.h",
-    "src/core/security/security_connector.h",
-    "src/core/security/security_context.h",
-    "src/core/tsi/fake_transport_security.h",
-    "src/core/tsi/ssl_transport_security.h",
-    "src/core/tsi/ssl_types.h",
-    "src/core/tsi/transport_security.h",
-    "src/core/tsi/transport_security_interface.h",
-    "src/core/census/aggregation.h",
-    "src/core/census/mlog.h",
-    "src/core/census/rpc_metric_id.h",
+    "src/core/lib/census/grpc_filter.h",
+    "src/core/lib/census/grpc_plugin.h",
+    "src/core/lib/channel/channel_args.h",
+    "src/core/lib/channel/channel_stack.h",
+    "src/core/lib/channel/channel_stack_builder.h",
+    "src/core/lib/channel/client_channel.h",
+    "src/core/lib/channel/compress_filter.h",
+    "src/core/lib/channel/connected_channel.h",
+    "src/core/lib/channel/context.h",
+    "src/core/lib/channel/http_client_filter.h",
+    "src/core/lib/channel/http_server_filter.h",
+    "src/core/lib/channel/subchannel_call_holder.h",
+    "src/core/lib/client_config/client_config.h",
+    "src/core/lib/client_config/connector.h",
+    "src/core/lib/client_config/initial_connect_string.h",
+    "src/core/lib/client_config/lb_policies/load_balancer_api.h",
+    "src/core/lib/client_config/lb_policies/pick_first.h",
+    "src/core/lib/client_config/lb_policies/round_robin.h",
+    "src/core/lib/client_config/lb_policy.h",
+    "src/core/lib/client_config/lb_policy_factory.h",
+    "src/core/lib/client_config/lb_policy_registry.h",
+    "src/core/lib/client_config/resolver.h",
+    "src/core/lib/client_config/resolver_factory.h",
+    "src/core/lib/client_config/resolver_registry.h",
+    "src/core/lib/client_config/resolvers/dns_resolver.h",
+    "src/core/lib/client_config/resolvers/sockaddr_resolver.h",
+    "src/core/lib/client_config/subchannel.h",
+    "src/core/lib/client_config/subchannel_factory.h",
+    "src/core/lib/client_config/subchannel_index.h",
+    "src/core/lib/client_config/uri_parser.h",
+    "src/core/lib/compression/algorithm_metadata.h",
+    "src/core/lib/compression/message_compress.h",
+    "src/core/lib/debug/trace.h",
+    "src/core/lib/http/format_request.h",
+    "src/core/lib/http/httpcli.h",
+    "src/core/lib/http/parser.h",
+    "src/core/lib/iomgr/closure.h",
+    "src/core/lib/iomgr/endpoint.h",
+    "src/core/lib/iomgr/endpoint_pair.h",
+    "src/core/lib/iomgr/exec_ctx.h",
+    "src/core/lib/iomgr/executor.h",
+    "src/core/lib/iomgr/fd_posix.h",
+    "src/core/lib/iomgr/iocp_windows.h",
+    "src/core/lib/iomgr/iomgr.h",
+    "src/core/lib/iomgr/iomgr_internal.h",
+    "src/core/lib/iomgr/iomgr_posix.h",
+    "src/core/lib/iomgr/pollset.h",
+    "src/core/lib/iomgr/pollset_posix.h",
+    "src/core/lib/iomgr/pollset_set.h",
+    "src/core/lib/iomgr/pollset_set_posix.h",
+    "src/core/lib/iomgr/pollset_set_windows.h",
+    "src/core/lib/iomgr/pollset_windows.h",
+    "src/core/lib/iomgr/resolve_address.h",
+    "src/core/lib/iomgr/sockaddr.h",
+    "src/core/lib/iomgr/sockaddr_posix.h",
+    "src/core/lib/iomgr/sockaddr_utils.h",
+    "src/core/lib/iomgr/sockaddr_win32.h",
+    "src/core/lib/iomgr/socket_utils_posix.h",
+    "src/core/lib/iomgr/socket_windows.h",
+    "src/core/lib/iomgr/tcp_client.h",
+    "src/core/lib/iomgr/tcp_posix.h",
+    "src/core/lib/iomgr/tcp_server.h",
+    "src/core/lib/iomgr/tcp_windows.h",
+    "src/core/lib/iomgr/time_averaged_stats.h",
+    "src/core/lib/iomgr/timer.h",
+    "src/core/lib/iomgr/timer_heap.h",
+    "src/core/lib/iomgr/udp_server.h",
+    "src/core/lib/iomgr/unix_sockets_posix.h",
+    "src/core/lib/iomgr/wakeup_fd_pipe.h",
+    "src/core/lib/iomgr/wakeup_fd_posix.h",
+    "src/core/lib/iomgr/workqueue.h",
+    "src/core/lib/iomgr/workqueue_posix.h",
+    "src/core/lib/iomgr/workqueue_windows.h",
+    "src/core/lib/json/json.h",
+    "src/core/lib/json/json_common.h",
+    "src/core/lib/json/json_reader.h",
+    "src/core/lib/json/json_writer.h",
+    "src/core/lib/proto/grpc/lb/v0/load_balancer.pb.h",
+    "src/core/lib/statistics/census_interface.h",
+    "src/core/lib/statistics/census_rpc_stats.h",
+    "src/core/lib/surface/api_trace.h",
+    "src/core/lib/surface/call.h",
+    "src/core/lib/surface/call_test_only.h",
+    "src/core/lib/surface/channel.h",
+    "src/core/lib/surface/channel_init.h",
+    "src/core/lib/surface/channel_stack_type.h",
+    "src/core/lib/surface/completion_queue.h",
+    "src/core/lib/surface/event_string.h",
+    "src/core/lib/surface/init.h",
+    "src/core/lib/surface/lame_client.h",
+    "src/core/lib/surface/server.h",
+    "src/core/lib/surface/surface_trace.h",
+    "src/core/lib/transport/byte_stream.h",
+    "src/core/lib/transport/chttp2/alpn.h",
+    "src/core/lib/transport/chttp2/bin_encoder.h",
+    "src/core/lib/transport/chttp2/frame.h",
+    "src/core/lib/transport/chttp2/frame_data.h",
+    "src/core/lib/transport/chttp2/frame_goaway.h",
+    "src/core/lib/transport/chttp2/frame_ping.h",
+    "src/core/lib/transport/chttp2/frame_rst_stream.h",
+    "src/core/lib/transport/chttp2/frame_settings.h",
+    "src/core/lib/transport/chttp2/frame_window_update.h",
+    "src/core/lib/transport/chttp2/hpack_encoder.h",
+    "src/core/lib/transport/chttp2/hpack_parser.h",
+    "src/core/lib/transport/chttp2/hpack_table.h",
+    "src/core/lib/transport/chttp2/http2_errors.h",
+    "src/core/lib/transport/chttp2/huffsyms.h",
+    "src/core/lib/transport/chttp2/incoming_metadata.h",
+    "src/core/lib/transport/chttp2/internal.h",
+    "src/core/lib/transport/chttp2/status_conversion.h",
+    "src/core/lib/transport/chttp2/stream_map.h",
+    "src/core/lib/transport/chttp2/timeout_encoding.h",
+    "src/core/lib/transport/chttp2/varint.h",
+    "src/core/lib/transport/chttp2_transport.h",
+    "src/core/lib/transport/connectivity_state.h",
+    "src/core/lib/transport/metadata.h",
+    "src/core/lib/transport/metadata_batch.h",
+    "src/core/lib/transport/static_metadata.h",
+    "src/core/lib/transport/transport.h",
+    "src/core/lib/transport/transport_impl.h",
+    "src/core/lib/security/auth_filters.h",
+    "src/core/lib/security/b64.h",
+    "src/core/lib/security/credentials.h",
+    "src/core/lib/security/handshake.h",
+    "src/core/lib/security/json_token.h",
+    "src/core/lib/security/jwt_verifier.h",
+    "src/core/lib/security/secure_endpoint.h",
+    "src/core/lib/security/security_connector.h",
+    "src/core/lib/security/security_context.h",
+    "src/core/lib/tsi/fake_transport_security.h",
+    "src/core/lib/tsi/ssl_transport_security.h",
+    "src/core/lib/tsi/ssl_types.h",
+    "src/core/lib/tsi/transport_security.h",
+    "src/core/lib/tsi/transport_security_interface.h",
+    "src/core/lib/census/aggregation.h",
+    "src/core/lib/census/mlog.h",
+    "src/core/lib/census/rpc_metric_id.h",
     "third_party/nanopb/pb.h",
     "third_party/nanopb/pb_common.h",
     "third_party/nanopb/pb_decode.h",
     "third_party/nanopb/pb_encode.h",
-    "src/core/census/grpc_context.c",
-    "src/core/census/grpc_filter.c",
-    "src/core/census/grpc_plugin.c",
-    "src/core/channel/channel_args.c",
-    "src/core/channel/channel_stack.c",
-    "src/core/channel/channel_stack_builder.c",
-    "src/core/channel/client_channel.c",
-    "src/core/channel/compress_filter.c",
-    "src/core/channel/connected_channel.c",
-    "src/core/channel/http_client_filter.c",
-    "src/core/channel/http_server_filter.c",
-    "src/core/channel/subchannel_call_holder.c",
-    "src/core/client_config/client_config.c",
-    "src/core/client_config/connector.c",
-    "src/core/client_config/default_initial_connect_string.c",
-    "src/core/client_config/initial_connect_string.c",
-    "src/core/client_config/lb_policies/load_balancer_api.c",
-    "src/core/client_config/lb_policies/pick_first.c",
-    "src/core/client_config/lb_policies/round_robin.c",
-    "src/core/client_config/lb_policy.c",
-    "src/core/client_config/lb_policy_factory.c",
-    "src/core/client_config/lb_policy_registry.c",
-    "src/core/client_config/resolver.c",
-    "src/core/client_config/resolver_factory.c",
-    "src/core/client_config/resolver_registry.c",
-    "src/core/client_config/resolvers/dns_resolver.c",
-    "src/core/client_config/resolvers/sockaddr_resolver.c",
-    "src/core/client_config/subchannel.c",
-    "src/core/client_config/subchannel_factory.c",
-    "src/core/client_config/subchannel_index.c",
-    "src/core/client_config/uri_parser.c",
-    "src/core/compression/compression_algorithm.c",
-    "src/core/compression/message_compress.c",
-    "src/core/debug/trace.c",
-    "src/core/http/format_request.c",
-    "src/core/http/httpcli.c",
-    "src/core/http/parser.c",
-    "src/core/iomgr/closure.c",
-    "src/core/iomgr/endpoint.c",
-    "src/core/iomgr/endpoint_pair_posix.c",
-    "src/core/iomgr/endpoint_pair_windows.c",
-    "src/core/iomgr/exec_ctx.c",
-    "src/core/iomgr/executor.c",
-    "src/core/iomgr/fd_posix.c",
-    "src/core/iomgr/iocp_windows.c",
-    "src/core/iomgr/iomgr.c",
-    "src/core/iomgr/iomgr_posix.c",
-    "src/core/iomgr/iomgr_windows.c",
-    "src/core/iomgr/pollset_multipoller_with_epoll.c",
-    "src/core/iomgr/pollset_multipoller_with_poll_posix.c",
-    "src/core/iomgr/pollset_posix.c",
-    "src/core/iomgr/pollset_set_posix.c",
-    "src/core/iomgr/pollset_set_windows.c",
-    "src/core/iomgr/pollset_windows.c",
-    "src/core/iomgr/resolve_address_posix.c",
-    "src/core/iomgr/resolve_address_windows.c",
-    "src/core/iomgr/sockaddr_utils.c",
-    "src/core/iomgr/socket_utils_common_posix.c",
-    "src/core/iomgr/socket_utils_linux.c",
-    "src/core/iomgr/socket_utils_posix.c",
-    "src/core/iomgr/socket_windows.c",
-    "src/core/iomgr/tcp_client_posix.c",
-    "src/core/iomgr/tcp_client_windows.c",
-    "src/core/iomgr/tcp_posix.c",
-    "src/core/iomgr/tcp_server_posix.c",
-    "src/core/iomgr/tcp_server_windows.c",
-    "src/core/iomgr/tcp_windows.c",
-    "src/core/iomgr/time_averaged_stats.c",
-    "src/core/iomgr/timer.c",
-    "src/core/iomgr/timer_heap.c",
-    "src/core/iomgr/udp_server.c",
-    "src/core/iomgr/unix_sockets_posix.c",
-    "src/core/iomgr/unix_sockets_posix_noop.c",
-    "src/core/iomgr/wakeup_fd_eventfd.c",
-    "src/core/iomgr/wakeup_fd_nospecial.c",
-    "src/core/iomgr/wakeup_fd_pipe.c",
-    "src/core/iomgr/wakeup_fd_posix.c",
-    "src/core/iomgr/workqueue_posix.c",
-    "src/core/iomgr/workqueue_windows.c",
-    "src/core/json/json.c",
-    "src/core/json/json_reader.c",
-    "src/core/json/json_string.c",
-    "src/core/json/json_writer.c",
-    "src/core/proto/grpc/lb/v0/load_balancer.pb.c",
-    "src/core/surface/alarm.c",
-    "src/core/surface/api_trace.c",
-    "src/core/surface/byte_buffer.c",
-    "src/core/surface/byte_buffer_reader.c",
-    "src/core/surface/call.c",
-    "src/core/surface/call_details.c",
-    "src/core/surface/call_log_batch.c",
-    "src/core/surface/channel.c",
-    "src/core/surface/channel_connectivity.c",
-    "src/core/surface/channel_create.c",
-    "src/core/surface/channel_init.c",
-    "src/core/surface/channel_ping.c",
-    "src/core/surface/channel_stack_type.c",
-    "src/core/surface/completion_queue.c",
-    "src/core/surface/event_string.c",
-    "src/core/surface/init.c",
-    "src/core/surface/lame_client.c",
-    "src/core/surface/metadata_array.c",
-    "src/core/surface/server.c",
-    "src/core/surface/server_chttp2.c",
-    "src/core/surface/validate_metadata.c",
-    "src/core/surface/version.c",
-    "src/core/transport/byte_stream.c",
-    "src/core/transport/chttp2/alpn.c",
-    "src/core/transport/chttp2/bin_encoder.c",
-    "src/core/transport/chttp2/frame_data.c",
-    "src/core/transport/chttp2/frame_goaway.c",
-    "src/core/transport/chttp2/frame_ping.c",
-    "src/core/transport/chttp2/frame_rst_stream.c",
-    "src/core/transport/chttp2/frame_settings.c",
-    "src/core/transport/chttp2/frame_window_update.c",
-    "src/core/transport/chttp2/hpack_encoder.c",
-    "src/core/transport/chttp2/hpack_parser.c",
-    "src/core/transport/chttp2/hpack_table.c",
-    "src/core/transport/chttp2/huffsyms.c",
-    "src/core/transport/chttp2/incoming_metadata.c",
-    "src/core/transport/chttp2/parsing.c",
-    "src/core/transport/chttp2/status_conversion.c",
-    "src/core/transport/chttp2/stream_lists.c",
-    "src/core/transport/chttp2/stream_map.c",
-    "src/core/transport/chttp2/timeout_encoding.c",
-    "src/core/transport/chttp2/varint.c",
-    "src/core/transport/chttp2/writing.c",
-    "src/core/transport/chttp2_transport.c",
-    "src/core/transport/connectivity_state.c",
-    "src/core/transport/metadata.c",
-    "src/core/transport/metadata_batch.c",
-    "src/core/transport/static_metadata.c",
-    "src/core/transport/transport.c",
-    "src/core/transport/transport_op_string.c",
-    "src/core/http/httpcli_security_connector.c",
-    "src/core/security/b64.c",
-    "src/core/security/client_auth_filter.c",
-    "src/core/security/credentials.c",
-    "src/core/security/credentials_metadata.c",
-    "src/core/security/credentials_posix.c",
-    "src/core/security/credentials_win32.c",
-    "src/core/security/google_default_credentials.c",
-    "src/core/security/handshake.c",
-    "src/core/security/json_token.c",
-    "src/core/security/jwt_verifier.c",
-    "src/core/security/secure_endpoint.c",
-    "src/core/security/security_connector.c",
-    "src/core/security/security_context.c",
-    "src/core/security/server_auth_filter.c",
-    "src/core/security/server_secure_chttp2.c",
-    "src/core/surface/init_secure.c",
-    "src/core/surface/secure_channel_create.c",
-    "src/core/tsi/fake_transport_security.c",
-    "src/core/tsi/ssl_transport_security.c",
-    "src/core/tsi/transport_security.c",
-    "src/core/census/context.c",
-    "src/core/census/initialize.c",
-    "src/core/census/mlog.c",
-    "src/core/census/operation.c",
-    "src/core/census/placeholders.c",
-    "src/core/census/tracing.c",
+    "src/core/lib/census/grpc_context.c",
+    "src/core/lib/census/grpc_filter.c",
+    "src/core/lib/census/grpc_plugin.c",
+    "src/core/lib/channel/channel_args.c",
+    "src/core/lib/channel/channel_stack.c",
+    "src/core/lib/channel/channel_stack_builder.c",
+    "src/core/lib/channel/client_channel.c",
+    "src/core/lib/channel/compress_filter.c",
+    "src/core/lib/channel/connected_channel.c",
+    "src/core/lib/channel/http_client_filter.c",
+    "src/core/lib/channel/http_server_filter.c",
+    "src/core/lib/channel/subchannel_call_holder.c",
+    "src/core/lib/client_config/client_config.c",
+    "src/core/lib/client_config/connector.c",
+    "src/core/lib/client_config/default_initial_connect_string.c",
+    "src/core/lib/client_config/initial_connect_string.c",
+    "src/core/lib/client_config/lb_policies/load_balancer_api.c",
+    "src/core/lib/client_config/lb_policies/pick_first.c",
+    "src/core/lib/client_config/lb_policies/round_robin.c",
+    "src/core/lib/client_config/lb_policy.c",
+    "src/core/lib/client_config/lb_policy_factory.c",
+    "src/core/lib/client_config/lb_policy_registry.c",
+    "src/core/lib/client_config/resolver.c",
+    "src/core/lib/client_config/resolver_factory.c",
+    "src/core/lib/client_config/resolver_registry.c",
+    "src/core/lib/client_config/resolvers/dns_resolver.c",
+    "src/core/lib/client_config/resolvers/sockaddr_resolver.c",
+    "src/core/lib/client_config/subchannel.c",
+    "src/core/lib/client_config/subchannel_factory.c",
+    "src/core/lib/client_config/subchannel_index.c",
+    "src/core/lib/client_config/uri_parser.c",
+    "src/core/lib/compression/compression_algorithm.c",
+    "src/core/lib/compression/message_compress.c",
+    "src/core/lib/debug/trace.c",
+    "src/core/lib/http/format_request.c",
+    "src/core/lib/http/httpcli.c",
+    "src/core/lib/http/parser.c",
+    "src/core/lib/iomgr/closure.c",
+    "src/core/lib/iomgr/endpoint.c",
+    "src/core/lib/iomgr/endpoint_pair_posix.c",
+    "src/core/lib/iomgr/endpoint_pair_windows.c",
+    "src/core/lib/iomgr/exec_ctx.c",
+    "src/core/lib/iomgr/executor.c",
+    "src/core/lib/iomgr/fd_posix.c",
+    "src/core/lib/iomgr/iocp_windows.c",
+    "src/core/lib/iomgr/iomgr.c",
+    "src/core/lib/iomgr/iomgr_posix.c",
+    "src/core/lib/iomgr/iomgr_windows.c",
+    "src/core/lib/iomgr/pollset_multipoller_with_epoll.c",
+    "src/core/lib/iomgr/pollset_multipoller_with_poll_posix.c",
+    "src/core/lib/iomgr/pollset_posix.c",
+    "src/core/lib/iomgr/pollset_set_posix.c",
+    "src/core/lib/iomgr/pollset_set_windows.c",
+    "src/core/lib/iomgr/pollset_windows.c",
+    "src/core/lib/iomgr/resolve_address_posix.c",
+    "src/core/lib/iomgr/resolve_address_windows.c",
+    "src/core/lib/iomgr/sockaddr_utils.c",
+    "src/core/lib/iomgr/socket_utils_common_posix.c",
+    "src/core/lib/iomgr/socket_utils_linux.c",
+    "src/core/lib/iomgr/socket_utils_posix.c",
+    "src/core/lib/iomgr/socket_windows.c",
+    "src/core/lib/iomgr/tcp_client_posix.c",
+    "src/core/lib/iomgr/tcp_client_windows.c",
+    "src/core/lib/iomgr/tcp_posix.c",
+    "src/core/lib/iomgr/tcp_server_posix.c",
+    "src/core/lib/iomgr/tcp_server_windows.c",
+    "src/core/lib/iomgr/tcp_windows.c",
+    "src/core/lib/iomgr/time_averaged_stats.c",
+    "src/core/lib/iomgr/timer.c",
+    "src/core/lib/iomgr/timer_heap.c",
+    "src/core/lib/iomgr/udp_server.c",
+    "src/core/lib/iomgr/unix_sockets_posix.c",
+    "src/core/lib/iomgr/unix_sockets_posix_noop.c",
+    "src/core/lib/iomgr/wakeup_fd_eventfd.c",
+    "src/core/lib/iomgr/wakeup_fd_nospecial.c",
+    "src/core/lib/iomgr/wakeup_fd_pipe.c",
+    "src/core/lib/iomgr/wakeup_fd_posix.c",
+    "src/core/lib/iomgr/workqueue_posix.c",
+    "src/core/lib/iomgr/workqueue_windows.c",
+    "src/core/lib/json/json.c",
+    "src/core/lib/json/json_reader.c",
+    "src/core/lib/json/json_string.c",
+    "src/core/lib/json/json_writer.c",
+    "src/core/lib/proto/grpc/lb/v0/load_balancer.pb.c",
+    "src/core/lib/surface/alarm.c",
+    "src/core/lib/surface/api_trace.c",
+    "src/core/lib/surface/byte_buffer.c",
+    "src/core/lib/surface/byte_buffer_reader.c",
+    "src/core/lib/surface/call.c",
+    "src/core/lib/surface/call_details.c",
+    "src/core/lib/surface/call_log_batch.c",
+    "src/core/lib/surface/channel.c",
+    "src/core/lib/surface/channel_connectivity.c",
+    "src/core/lib/surface/channel_create.c",
+    "src/core/lib/surface/channel_init.c",
+    "src/core/lib/surface/channel_ping.c",
+    "src/core/lib/surface/channel_stack_type.c",
+    "src/core/lib/surface/completion_queue.c",
+    "src/core/lib/surface/event_string.c",
+    "src/core/lib/surface/init.c",
+    "src/core/lib/surface/lame_client.c",
+    "src/core/lib/surface/metadata_array.c",
+    "src/core/lib/surface/server.c",
+    "src/core/lib/surface/server_chttp2.c",
+    "src/core/lib/surface/validate_metadata.c",
+    "src/core/lib/surface/version.c",
+    "src/core/lib/transport/byte_stream.c",
+    "src/core/lib/transport/chttp2/alpn.c",
+    "src/core/lib/transport/chttp2/bin_encoder.c",
+    "src/core/lib/transport/chttp2/frame_data.c",
+    "src/core/lib/transport/chttp2/frame_goaway.c",
+    "src/core/lib/transport/chttp2/frame_ping.c",
+    "src/core/lib/transport/chttp2/frame_rst_stream.c",
+    "src/core/lib/transport/chttp2/frame_settings.c",
+    "src/core/lib/transport/chttp2/frame_window_update.c",
+    "src/core/lib/transport/chttp2/hpack_encoder.c",
+    "src/core/lib/transport/chttp2/hpack_parser.c",
+    "src/core/lib/transport/chttp2/hpack_table.c",
+    "src/core/lib/transport/chttp2/huffsyms.c",
+    "src/core/lib/transport/chttp2/incoming_metadata.c",
+    "src/core/lib/transport/chttp2/parsing.c",
+    "src/core/lib/transport/chttp2/status_conversion.c",
+    "src/core/lib/transport/chttp2/stream_lists.c",
+    "src/core/lib/transport/chttp2/stream_map.c",
+    "src/core/lib/transport/chttp2/timeout_encoding.c",
+    "src/core/lib/transport/chttp2/varint.c",
+    "src/core/lib/transport/chttp2/writing.c",
+    "src/core/lib/transport/chttp2_transport.c",
+    "src/core/lib/transport/connectivity_state.c",
+    "src/core/lib/transport/metadata.c",
+    "src/core/lib/transport/metadata_batch.c",
+    "src/core/lib/transport/static_metadata.c",
+    "src/core/lib/transport/transport.c",
+    "src/core/lib/transport/transport_op_string.c",
+    "src/core/lib/http/httpcli_security_connector.c",
+    "src/core/lib/security/b64.c",
+    "src/core/lib/security/client_auth_filter.c",
+    "src/core/lib/security/credentials.c",
+    "src/core/lib/security/credentials_metadata.c",
+    "src/core/lib/security/credentials_posix.c",
+    "src/core/lib/security/credentials_win32.c",
+    "src/core/lib/security/google_default_credentials.c",
+    "src/core/lib/security/handshake.c",
+    "src/core/lib/security/json_token.c",
+    "src/core/lib/security/jwt_verifier.c",
+    "src/core/lib/security/secure_endpoint.c",
+    "src/core/lib/security/security_connector.c",
+    "src/core/lib/security/security_context.c",
+    "src/core/lib/security/server_auth_filter.c",
+    "src/core/lib/security/server_secure_chttp2.c",
+    "src/core/lib/surface/init_secure.c",
+    "src/core/lib/surface/secure_channel_create.c",
+    "src/core/lib/tsi/fake_transport_security.c",
+    "src/core/lib/tsi/ssl_transport_security.c",
+    "src/core/lib/tsi/transport_security.c",
+    "src/core/lib/census/context.c",
+    "src/core/lib/census/initialize.c",
+    "src/core/lib/census/mlog.c",
+    "src/core/lib/census/operation.c",
+    "src/core/lib/census/placeholders.c",
+    "src/core/lib/census/tracing.c",
     "third_party/nanopb/pb_common.c",
     "third_party/nanopb/pb_decode.c",
     "third_party/nanopb/pb_encode.c",
@@ -532,274 +532,274 @@
 cc_library(
   name = "grpc_unsecure",
   srcs = [
-    "src/core/census/grpc_filter.h",
-    "src/core/census/grpc_plugin.h",
-    "src/core/channel/channel_args.h",
-    "src/core/channel/channel_stack.h",
-    "src/core/channel/channel_stack_builder.h",
-    "src/core/channel/client_channel.h",
-    "src/core/channel/compress_filter.h",
-    "src/core/channel/connected_channel.h",
-    "src/core/channel/context.h",
-    "src/core/channel/http_client_filter.h",
-    "src/core/channel/http_server_filter.h",
-    "src/core/channel/subchannel_call_holder.h",
-    "src/core/client_config/client_config.h",
-    "src/core/client_config/connector.h",
-    "src/core/client_config/initial_connect_string.h",
-    "src/core/client_config/lb_policies/load_balancer_api.h",
-    "src/core/client_config/lb_policies/pick_first.h",
-    "src/core/client_config/lb_policies/round_robin.h",
-    "src/core/client_config/lb_policy.h",
-    "src/core/client_config/lb_policy_factory.h",
-    "src/core/client_config/lb_policy_registry.h",
-    "src/core/client_config/resolver.h",
-    "src/core/client_config/resolver_factory.h",
-    "src/core/client_config/resolver_registry.h",
-    "src/core/client_config/resolvers/dns_resolver.h",
-    "src/core/client_config/resolvers/sockaddr_resolver.h",
-    "src/core/client_config/subchannel.h",
-    "src/core/client_config/subchannel_factory.h",
-    "src/core/client_config/subchannel_index.h",
-    "src/core/client_config/uri_parser.h",
-    "src/core/compression/algorithm_metadata.h",
-    "src/core/compression/message_compress.h",
-    "src/core/debug/trace.h",
-    "src/core/http/format_request.h",
-    "src/core/http/httpcli.h",
-    "src/core/http/parser.h",
-    "src/core/iomgr/closure.h",
-    "src/core/iomgr/endpoint.h",
-    "src/core/iomgr/endpoint_pair.h",
-    "src/core/iomgr/exec_ctx.h",
-    "src/core/iomgr/executor.h",
-    "src/core/iomgr/fd_posix.h",
-    "src/core/iomgr/iocp_windows.h",
-    "src/core/iomgr/iomgr.h",
-    "src/core/iomgr/iomgr_internal.h",
-    "src/core/iomgr/iomgr_posix.h",
-    "src/core/iomgr/pollset.h",
-    "src/core/iomgr/pollset_posix.h",
-    "src/core/iomgr/pollset_set.h",
-    "src/core/iomgr/pollset_set_posix.h",
-    "src/core/iomgr/pollset_set_windows.h",
-    "src/core/iomgr/pollset_windows.h",
-    "src/core/iomgr/resolve_address.h",
-    "src/core/iomgr/sockaddr.h",
-    "src/core/iomgr/sockaddr_posix.h",
-    "src/core/iomgr/sockaddr_utils.h",
-    "src/core/iomgr/sockaddr_win32.h",
-    "src/core/iomgr/socket_utils_posix.h",
-    "src/core/iomgr/socket_windows.h",
-    "src/core/iomgr/tcp_client.h",
-    "src/core/iomgr/tcp_posix.h",
-    "src/core/iomgr/tcp_server.h",
-    "src/core/iomgr/tcp_windows.h",
-    "src/core/iomgr/time_averaged_stats.h",
-    "src/core/iomgr/timer.h",
-    "src/core/iomgr/timer_heap.h",
-    "src/core/iomgr/udp_server.h",
-    "src/core/iomgr/unix_sockets_posix.h",
-    "src/core/iomgr/wakeup_fd_pipe.h",
-    "src/core/iomgr/wakeup_fd_posix.h",
-    "src/core/iomgr/workqueue.h",
-    "src/core/iomgr/workqueue_posix.h",
-    "src/core/iomgr/workqueue_windows.h",
-    "src/core/json/json.h",
-    "src/core/json/json_common.h",
-    "src/core/json/json_reader.h",
-    "src/core/json/json_writer.h",
-    "src/core/proto/grpc/lb/v0/load_balancer.pb.h",
-    "src/core/statistics/census_interface.h",
-    "src/core/statistics/census_rpc_stats.h",
-    "src/core/surface/api_trace.h",
-    "src/core/surface/call.h",
-    "src/core/surface/call_test_only.h",
-    "src/core/surface/channel.h",
-    "src/core/surface/channel_init.h",
-    "src/core/surface/channel_stack_type.h",
-    "src/core/surface/completion_queue.h",
-    "src/core/surface/event_string.h",
-    "src/core/surface/init.h",
-    "src/core/surface/lame_client.h",
-    "src/core/surface/server.h",
-    "src/core/surface/surface_trace.h",
-    "src/core/transport/byte_stream.h",
-    "src/core/transport/chttp2/alpn.h",
-    "src/core/transport/chttp2/bin_encoder.h",
-    "src/core/transport/chttp2/frame.h",
-    "src/core/transport/chttp2/frame_data.h",
-    "src/core/transport/chttp2/frame_goaway.h",
-    "src/core/transport/chttp2/frame_ping.h",
-    "src/core/transport/chttp2/frame_rst_stream.h",
-    "src/core/transport/chttp2/frame_settings.h",
-    "src/core/transport/chttp2/frame_window_update.h",
-    "src/core/transport/chttp2/hpack_encoder.h",
-    "src/core/transport/chttp2/hpack_parser.h",
-    "src/core/transport/chttp2/hpack_table.h",
-    "src/core/transport/chttp2/http2_errors.h",
-    "src/core/transport/chttp2/huffsyms.h",
-    "src/core/transport/chttp2/incoming_metadata.h",
-    "src/core/transport/chttp2/internal.h",
-    "src/core/transport/chttp2/status_conversion.h",
-    "src/core/transport/chttp2/stream_map.h",
-    "src/core/transport/chttp2/timeout_encoding.h",
-    "src/core/transport/chttp2/varint.h",
-    "src/core/transport/chttp2_transport.h",
-    "src/core/transport/connectivity_state.h",
-    "src/core/transport/metadata.h",
-    "src/core/transport/metadata_batch.h",
-    "src/core/transport/static_metadata.h",
-    "src/core/transport/transport.h",
-    "src/core/transport/transport_impl.h",
-    "src/core/census/aggregation.h",
-    "src/core/census/mlog.h",
-    "src/core/census/rpc_metric_id.h",
+    "src/core/lib/census/grpc_filter.h",
+    "src/core/lib/census/grpc_plugin.h",
+    "src/core/lib/channel/channel_args.h",
+    "src/core/lib/channel/channel_stack.h",
+    "src/core/lib/channel/channel_stack_builder.h",
+    "src/core/lib/channel/client_channel.h",
+    "src/core/lib/channel/compress_filter.h",
+    "src/core/lib/channel/connected_channel.h",
+    "src/core/lib/channel/context.h",
+    "src/core/lib/channel/http_client_filter.h",
+    "src/core/lib/channel/http_server_filter.h",
+    "src/core/lib/channel/subchannel_call_holder.h",
+    "src/core/lib/client_config/client_config.h",
+    "src/core/lib/client_config/connector.h",
+    "src/core/lib/client_config/initial_connect_string.h",
+    "src/core/lib/client_config/lb_policies/load_balancer_api.h",
+    "src/core/lib/client_config/lb_policies/pick_first.h",
+    "src/core/lib/client_config/lb_policies/round_robin.h",
+    "src/core/lib/client_config/lb_policy.h",
+    "src/core/lib/client_config/lb_policy_factory.h",
+    "src/core/lib/client_config/lb_policy_registry.h",
+    "src/core/lib/client_config/resolver.h",
+    "src/core/lib/client_config/resolver_factory.h",
+    "src/core/lib/client_config/resolver_registry.h",
+    "src/core/lib/client_config/resolvers/dns_resolver.h",
+    "src/core/lib/client_config/resolvers/sockaddr_resolver.h",
+    "src/core/lib/client_config/subchannel.h",
+    "src/core/lib/client_config/subchannel_factory.h",
+    "src/core/lib/client_config/subchannel_index.h",
+    "src/core/lib/client_config/uri_parser.h",
+    "src/core/lib/compression/algorithm_metadata.h",
+    "src/core/lib/compression/message_compress.h",
+    "src/core/lib/debug/trace.h",
+    "src/core/lib/http/format_request.h",
+    "src/core/lib/http/httpcli.h",
+    "src/core/lib/http/parser.h",
+    "src/core/lib/iomgr/closure.h",
+    "src/core/lib/iomgr/endpoint.h",
+    "src/core/lib/iomgr/endpoint_pair.h",
+    "src/core/lib/iomgr/exec_ctx.h",
+    "src/core/lib/iomgr/executor.h",
+    "src/core/lib/iomgr/fd_posix.h",
+    "src/core/lib/iomgr/iocp_windows.h",
+    "src/core/lib/iomgr/iomgr.h",
+    "src/core/lib/iomgr/iomgr_internal.h",
+    "src/core/lib/iomgr/iomgr_posix.h",
+    "src/core/lib/iomgr/pollset.h",
+    "src/core/lib/iomgr/pollset_posix.h",
+    "src/core/lib/iomgr/pollset_set.h",
+    "src/core/lib/iomgr/pollset_set_posix.h",
+    "src/core/lib/iomgr/pollset_set_windows.h",
+    "src/core/lib/iomgr/pollset_windows.h",
+    "src/core/lib/iomgr/resolve_address.h",
+    "src/core/lib/iomgr/sockaddr.h",
+    "src/core/lib/iomgr/sockaddr_posix.h",
+    "src/core/lib/iomgr/sockaddr_utils.h",
+    "src/core/lib/iomgr/sockaddr_win32.h",
+    "src/core/lib/iomgr/socket_utils_posix.h",
+    "src/core/lib/iomgr/socket_windows.h",
+    "src/core/lib/iomgr/tcp_client.h",
+    "src/core/lib/iomgr/tcp_posix.h",
+    "src/core/lib/iomgr/tcp_server.h",
+    "src/core/lib/iomgr/tcp_windows.h",
+    "src/core/lib/iomgr/time_averaged_stats.h",
+    "src/core/lib/iomgr/timer.h",
+    "src/core/lib/iomgr/timer_heap.h",
+    "src/core/lib/iomgr/udp_server.h",
+    "src/core/lib/iomgr/unix_sockets_posix.h",
+    "src/core/lib/iomgr/wakeup_fd_pipe.h",
+    "src/core/lib/iomgr/wakeup_fd_posix.h",
+    "src/core/lib/iomgr/workqueue.h",
+    "src/core/lib/iomgr/workqueue_posix.h",
+    "src/core/lib/iomgr/workqueue_windows.h",
+    "src/core/lib/json/json.h",
+    "src/core/lib/json/json_common.h",
+    "src/core/lib/json/json_reader.h",
+    "src/core/lib/json/json_writer.h",
+    "src/core/lib/proto/grpc/lb/v0/load_balancer.pb.h",
+    "src/core/lib/statistics/census_interface.h",
+    "src/core/lib/statistics/census_rpc_stats.h",
+    "src/core/lib/surface/api_trace.h",
+    "src/core/lib/surface/call.h",
+    "src/core/lib/surface/call_test_only.h",
+    "src/core/lib/surface/channel.h",
+    "src/core/lib/surface/channel_init.h",
+    "src/core/lib/surface/channel_stack_type.h",
+    "src/core/lib/surface/completion_queue.h",
+    "src/core/lib/surface/event_string.h",
+    "src/core/lib/surface/init.h",
+    "src/core/lib/surface/lame_client.h",
+    "src/core/lib/surface/server.h",
+    "src/core/lib/surface/surface_trace.h",
+    "src/core/lib/transport/byte_stream.h",
+    "src/core/lib/transport/chttp2/alpn.h",
+    "src/core/lib/transport/chttp2/bin_encoder.h",
+    "src/core/lib/transport/chttp2/frame.h",
+    "src/core/lib/transport/chttp2/frame_data.h",
+    "src/core/lib/transport/chttp2/frame_goaway.h",
+    "src/core/lib/transport/chttp2/frame_ping.h",
+    "src/core/lib/transport/chttp2/frame_rst_stream.h",
+    "src/core/lib/transport/chttp2/frame_settings.h",
+    "src/core/lib/transport/chttp2/frame_window_update.h",
+    "src/core/lib/transport/chttp2/hpack_encoder.h",
+    "src/core/lib/transport/chttp2/hpack_parser.h",
+    "src/core/lib/transport/chttp2/hpack_table.h",
+    "src/core/lib/transport/chttp2/http2_errors.h",
+    "src/core/lib/transport/chttp2/huffsyms.h",
+    "src/core/lib/transport/chttp2/incoming_metadata.h",
+    "src/core/lib/transport/chttp2/internal.h",
+    "src/core/lib/transport/chttp2/status_conversion.h",
+    "src/core/lib/transport/chttp2/stream_map.h",
+    "src/core/lib/transport/chttp2/timeout_encoding.h",
+    "src/core/lib/transport/chttp2/varint.h",
+    "src/core/lib/transport/chttp2_transport.h",
+    "src/core/lib/transport/connectivity_state.h",
+    "src/core/lib/transport/metadata.h",
+    "src/core/lib/transport/metadata_batch.h",
+    "src/core/lib/transport/static_metadata.h",
+    "src/core/lib/transport/transport.h",
+    "src/core/lib/transport/transport_impl.h",
+    "src/core/lib/census/aggregation.h",
+    "src/core/lib/census/mlog.h",
+    "src/core/lib/census/rpc_metric_id.h",
     "third_party/nanopb/pb.h",
     "third_party/nanopb/pb_common.h",
     "third_party/nanopb/pb_decode.h",
     "third_party/nanopb/pb_encode.h",
-    "src/core/surface/init_unsecure.c",
-    "src/core/census/grpc_context.c",
-    "src/core/census/grpc_filter.c",
-    "src/core/census/grpc_plugin.c",
-    "src/core/channel/channel_args.c",
-    "src/core/channel/channel_stack.c",
-    "src/core/channel/channel_stack_builder.c",
-    "src/core/channel/client_channel.c",
-    "src/core/channel/compress_filter.c",
-    "src/core/channel/connected_channel.c",
-    "src/core/channel/http_client_filter.c",
-    "src/core/channel/http_server_filter.c",
-    "src/core/channel/subchannel_call_holder.c",
-    "src/core/client_config/client_config.c",
-    "src/core/client_config/connector.c",
-    "src/core/client_config/default_initial_connect_string.c",
-    "src/core/client_config/initial_connect_string.c",
-    "src/core/client_config/lb_policies/load_balancer_api.c",
-    "src/core/client_config/lb_policies/pick_first.c",
-    "src/core/client_config/lb_policies/round_robin.c",
-    "src/core/client_config/lb_policy.c",
-    "src/core/client_config/lb_policy_factory.c",
-    "src/core/client_config/lb_policy_registry.c",
-    "src/core/client_config/resolver.c",
-    "src/core/client_config/resolver_factory.c",
-    "src/core/client_config/resolver_registry.c",
-    "src/core/client_config/resolvers/dns_resolver.c",
-    "src/core/client_config/resolvers/sockaddr_resolver.c",
-    "src/core/client_config/subchannel.c",
-    "src/core/client_config/subchannel_factory.c",
-    "src/core/client_config/subchannel_index.c",
-    "src/core/client_config/uri_parser.c",
-    "src/core/compression/compression_algorithm.c",
-    "src/core/compression/message_compress.c",
-    "src/core/debug/trace.c",
-    "src/core/http/format_request.c",
-    "src/core/http/httpcli.c",
-    "src/core/http/parser.c",
-    "src/core/iomgr/closure.c",
-    "src/core/iomgr/endpoint.c",
-    "src/core/iomgr/endpoint_pair_posix.c",
-    "src/core/iomgr/endpoint_pair_windows.c",
-    "src/core/iomgr/exec_ctx.c",
-    "src/core/iomgr/executor.c",
-    "src/core/iomgr/fd_posix.c",
-    "src/core/iomgr/iocp_windows.c",
-    "src/core/iomgr/iomgr.c",
-    "src/core/iomgr/iomgr_posix.c",
-    "src/core/iomgr/iomgr_windows.c",
-    "src/core/iomgr/pollset_multipoller_with_epoll.c",
-    "src/core/iomgr/pollset_multipoller_with_poll_posix.c",
-    "src/core/iomgr/pollset_posix.c",
-    "src/core/iomgr/pollset_set_posix.c",
-    "src/core/iomgr/pollset_set_windows.c",
-    "src/core/iomgr/pollset_windows.c",
-    "src/core/iomgr/resolve_address_posix.c",
-    "src/core/iomgr/resolve_address_windows.c",
-    "src/core/iomgr/sockaddr_utils.c",
-    "src/core/iomgr/socket_utils_common_posix.c",
-    "src/core/iomgr/socket_utils_linux.c",
-    "src/core/iomgr/socket_utils_posix.c",
-    "src/core/iomgr/socket_windows.c",
-    "src/core/iomgr/tcp_client_posix.c",
-    "src/core/iomgr/tcp_client_windows.c",
-    "src/core/iomgr/tcp_posix.c",
-    "src/core/iomgr/tcp_server_posix.c",
-    "src/core/iomgr/tcp_server_windows.c",
-    "src/core/iomgr/tcp_windows.c",
-    "src/core/iomgr/time_averaged_stats.c",
-    "src/core/iomgr/timer.c",
-    "src/core/iomgr/timer_heap.c",
-    "src/core/iomgr/udp_server.c",
-    "src/core/iomgr/unix_sockets_posix.c",
-    "src/core/iomgr/unix_sockets_posix_noop.c",
-    "src/core/iomgr/wakeup_fd_eventfd.c",
-    "src/core/iomgr/wakeup_fd_nospecial.c",
-    "src/core/iomgr/wakeup_fd_pipe.c",
-    "src/core/iomgr/wakeup_fd_posix.c",
-    "src/core/iomgr/workqueue_posix.c",
-    "src/core/iomgr/workqueue_windows.c",
-    "src/core/json/json.c",
-    "src/core/json/json_reader.c",
-    "src/core/json/json_string.c",
-    "src/core/json/json_writer.c",
-    "src/core/proto/grpc/lb/v0/load_balancer.pb.c",
-    "src/core/surface/alarm.c",
-    "src/core/surface/api_trace.c",
-    "src/core/surface/byte_buffer.c",
-    "src/core/surface/byte_buffer_reader.c",
-    "src/core/surface/call.c",
-    "src/core/surface/call_details.c",
-    "src/core/surface/call_log_batch.c",
-    "src/core/surface/channel.c",
-    "src/core/surface/channel_connectivity.c",
-    "src/core/surface/channel_create.c",
-    "src/core/surface/channel_init.c",
-    "src/core/surface/channel_ping.c",
-    "src/core/surface/channel_stack_type.c",
-    "src/core/surface/completion_queue.c",
-    "src/core/surface/event_string.c",
-    "src/core/surface/init.c",
-    "src/core/surface/lame_client.c",
-    "src/core/surface/metadata_array.c",
-    "src/core/surface/server.c",
-    "src/core/surface/server_chttp2.c",
-    "src/core/surface/validate_metadata.c",
-    "src/core/surface/version.c",
-    "src/core/transport/byte_stream.c",
-    "src/core/transport/chttp2/alpn.c",
-    "src/core/transport/chttp2/bin_encoder.c",
-    "src/core/transport/chttp2/frame_data.c",
-    "src/core/transport/chttp2/frame_goaway.c",
-    "src/core/transport/chttp2/frame_ping.c",
-    "src/core/transport/chttp2/frame_rst_stream.c",
-    "src/core/transport/chttp2/frame_settings.c",
-    "src/core/transport/chttp2/frame_window_update.c",
-    "src/core/transport/chttp2/hpack_encoder.c",
-    "src/core/transport/chttp2/hpack_parser.c",
-    "src/core/transport/chttp2/hpack_table.c",
-    "src/core/transport/chttp2/huffsyms.c",
-    "src/core/transport/chttp2/incoming_metadata.c",
-    "src/core/transport/chttp2/parsing.c",
-    "src/core/transport/chttp2/status_conversion.c",
-    "src/core/transport/chttp2/stream_lists.c",
-    "src/core/transport/chttp2/stream_map.c",
-    "src/core/transport/chttp2/timeout_encoding.c",
-    "src/core/transport/chttp2/varint.c",
-    "src/core/transport/chttp2/writing.c",
-    "src/core/transport/chttp2_transport.c",
-    "src/core/transport/connectivity_state.c",
-    "src/core/transport/metadata.c",
-    "src/core/transport/metadata_batch.c",
-    "src/core/transport/static_metadata.c",
-    "src/core/transport/transport.c",
-    "src/core/transport/transport_op_string.c",
-    "src/core/census/context.c",
-    "src/core/census/initialize.c",
-    "src/core/census/mlog.c",
-    "src/core/census/operation.c",
-    "src/core/census/placeholders.c",
-    "src/core/census/tracing.c",
+    "src/core/lib/surface/init_unsecure.c",
+    "src/core/lib/census/grpc_context.c",
+    "src/core/lib/census/grpc_filter.c",
+    "src/core/lib/census/grpc_plugin.c",
+    "src/core/lib/channel/channel_args.c",
+    "src/core/lib/channel/channel_stack.c",
+    "src/core/lib/channel/channel_stack_builder.c",
+    "src/core/lib/channel/client_channel.c",
+    "src/core/lib/channel/compress_filter.c",
+    "src/core/lib/channel/connected_channel.c",
+    "src/core/lib/channel/http_client_filter.c",
+    "src/core/lib/channel/http_server_filter.c",
+    "src/core/lib/channel/subchannel_call_holder.c",
+    "src/core/lib/client_config/client_config.c",
+    "src/core/lib/client_config/connector.c",
+    "src/core/lib/client_config/default_initial_connect_string.c",
+    "src/core/lib/client_config/initial_connect_string.c",
+    "src/core/lib/client_config/lb_policies/load_balancer_api.c",
+    "src/core/lib/client_config/lb_policies/pick_first.c",
+    "src/core/lib/client_config/lb_policies/round_robin.c",
+    "src/core/lib/client_config/lb_policy.c",
+    "src/core/lib/client_config/lb_policy_factory.c",
+    "src/core/lib/client_config/lb_policy_registry.c",
+    "src/core/lib/client_config/resolver.c",
+    "src/core/lib/client_config/resolver_factory.c",
+    "src/core/lib/client_config/resolver_registry.c",
+    "src/core/lib/client_config/resolvers/dns_resolver.c",
+    "src/core/lib/client_config/resolvers/sockaddr_resolver.c",
+    "src/core/lib/client_config/subchannel.c",
+    "src/core/lib/client_config/subchannel_factory.c",
+    "src/core/lib/client_config/subchannel_index.c",
+    "src/core/lib/client_config/uri_parser.c",
+    "src/core/lib/compression/compression_algorithm.c",
+    "src/core/lib/compression/message_compress.c",
+    "src/core/lib/debug/trace.c",
+    "src/core/lib/http/format_request.c",
+    "src/core/lib/http/httpcli.c",
+    "src/core/lib/http/parser.c",
+    "src/core/lib/iomgr/closure.c",
+    "src/core/lib/iomgr/endpoint.c",
+    "src/core/lib/iomgr/endpoint_pair_posix.c",
+    "src/core/lib/iomgr/endpoint_pair_windows.c",
+    "src/core/lib/iomgr/exec_ctx.c",
+    "src/core/lib/iomgr/executor.c",
+    "src/core/lib/iomgr/fd_posix.c",
+    "src/core/lib/iomgr/iocp_windows.c",
+    "src/core/lib/iomgr/iomgr.c",
+    "src/core/lib/iomgr/iomgr_posix.c",
+    "src/core/lib/iomgr/iomgr_windows.c",
+    "src/core/lib/iomgr/pollset_multipoller_with_epoll.c",
+    "src/core/lib/iomgr/pollset_multipoller_with_poll_posix.c",
+    "src/core/lib/iomgr/pollset_posix.c",
+    "src/core/lib/iomgr/pollset_set_posix.c",
+    "src/core/lib/iomgr/pollset_set_windows.c",
+    "src/core/lib/iomgr/pollset_windows.c",
+    "src/core/lib/iomgr/resolve_address_posix.c",
+    "src/core/lib/iomgr/resolve_address_windows.c",
+    "src/core/lib/iomgr/sockaddr_utils.c",
+    "src/core/lib/iomgr/socket_utils_common_posix.c",
+    "src/core/lib/iomgr/socket_utils_linux.c",
+    "src/core/lib/iomgr/socket_utils_posix.c",
+    "src/core/lib/iomgr/socket_windows.c",
+    "src/core/lib/iomgr/tcp_client_posix.c",
+    "src/core/lib/iomgr/tcp_client_windows.c",
+    "src/core/lib/iomgr/tcp_posix.c",
+    "src/core/lib/iomgr/tcp_server_posix.c",
+    "src/core/lib/iomgr/tcp_server_windows.c",
+    "src/core/lib/iomgr/tcp_windows.c",
+    "src/core/lib/iomgr/time_averaged_stats.c",
+    "src/core/lib/iomgr/timer.c",
+    "src/core/lib/iomgr/timer_heap.c",
+    "src/core/lib/iomgr/udp_server.c",
+    "src/core/lib/iomgr/unix_sockets_posix.c",
+    "src/core/lib/iomgr/unix_sockets_posix_noop.c",
+    "src/core/lib/iomgr/wakeup_fd_eventfd.c",
+    "src/core/lib/iomgr/wakeup_fd_nospecial.c",
+    "src/core/lib/iomgr/wakeup_fd_pipe.c",
+    "src/core/lib/iomgr/wakeup_fd_posix.c",
+    "src/core/lib/iomgr/workqueue_posix.c",
+    "src/core/lib/iomgr/workqueue_windows.c",
+    "src/core/lib/json/json.c",
+    "src/core/lib/json/json_reader.c",
+    "src/core/lib/json/json_string.c",
+    "src/core/lib/json/json_writer.c",
+    "src/core/lib/proto/grpc/lb/v0/load_balancer.pb.c",
+    "src/core/lib/surface/alarm.c",
+    "src/core/lib/surface/api_trace.c",
+    "src/core/lib/surface/byte_buffer.c",
+    "src/core/lib/surface/byte_buffer_reader.c",
+    "src/core/lib/surface/call.c",
+    "src/core/lib/surface/call_details.c",
+    "src/core/lib/surface/call_log_batch.c",
+    "src/core/lib/surface/channel.c",
+    "src/core/lib/surface/channel_connectivity.c",
+    "src/core/lib/surface/channel_create.c",
+    "src/core/lib/surface/channel_init.c",
+    "src/core/lib/surface/channel_ping.c",
+    "src/core/lib/surface/channel_stack_type.c",
+    "src/core/lib/surface/completion_queue.c",
+    "src/core/lib/surface/event_string.c",
+    "src/core/lib/surface/init.c",
+    "src/core/lib/surface/lame_client.c",
+    "src/core/lib/surface/metadata_array.c",
+    "src/core/lib/surface/server.c",
+    "src/core/lib/surface/server_chttp2.c",
+    "src/core/lib/surface/validate_metadata.c",
+    "src/core/lib/surface/version.c",
+    "src/core/lib/transport/byte_stream.c",
+    "src/core/lib/transport/chttp2/alpn.c",
+    "src/core/lib/transport/chttp2/bin_encoder.c",
+    "src/core/lib/transport/chttp2/frame_data.c",
+    "src/core/lib/transport/chttp2/frame_goaway.c",
+    "src/core/lib/transport/chttp2/frame_ping.c",
+    "src/core/lib/transport/chttp2/frame_rst_stream.c",
+    "src/core/lib/transport/chttp2/frame_settings.c",
+    "src/core/lib/transport/chttp2/frame_window_update.c",
+    "src/core/lib/transport/chttp2/hpack_encoder.c",
+    "src/core/lib/transport/chttp2/hpack_parser.c",
+    "src/core/lib/transport/chttp2/hpack_table.c",
+    "src/core/lib/transport/chttp2/huffsyms.c",
+    "src/core/lib/transport/chttp2/incoming_metadata.c",
+    "src/core/lib/transport/chttp2/parsing.c",
+    "src/core/lib/transport/chttp2/status_conversion.c",
+    "src/core/lib/transport/chttp2/stream_lists.c",
+    "src/core/lib/transport/chttp2/stream_map.c",
+    "src/core/lib/transport/chttp2/timeout_encoding.c",
+    "src/core/lib/transport/chttp2/varint.c",
+    "src/core/lib/transport/chttp2/writing.c",
+    "src/core/lib/transport/chttp2_transport.c",
+    "src/core/lib/transport/connectivity_state.c",
+    "src/core/lib/transport/metadata.c",
+    "src/core/lib/transport/metadata_batch.c",
+    "src/core/lib/transport/static_metadata.c",
+    "src/core/lib/transport/transport.c",
+    "src/core/lib/transport/transport_op_string.c",
+    "src/core/lib/census/context.c",
+    "src/core/lib/census/initialize.c",
+    "src/core/lib/census/mlog.c",
+    "src/core/lib/census/operation.c",
+    "src/core/lib/census/placeholders.c",
+    "src/core/lib/census/tracing.c",
     "third_party/nanopb/pb_common.c",
     "third_party/nanopb/pb_decode.c",
     "third_party/nanopb/pb_encode.c",
@@ -834,8 +834,8 @@
 cc_library(
   name = "grpc_zookeeper",
   srcs = [
-    "src/core/client_config/resolvers/zookeeper_resolver.h",
-    "src/core/client_config/resolvers/zookeeper_resolver.c",
+    "src/core/lib/client_config/resolvers/zookeeper_resolver.h",
+    "src/core/lib/client_config/resolvers/zookeeper_resolver.c",
   ],
   hdrs = [
     "include/grpc/grpc_zookeeper.h",
@@ -1248,50 +1248,50 @@
 objc_library(
   name = "gpr_objc",
   srcs = [
-    "src/core/profiling/basic_timers.c",
-    "src/core/profiling/stap_timers.c",
-    "src/core/support/alloc.c",
-    "src/core/support/avl.c",
-    "src/core/support/backoff.c",
-    "src/core/support/cmdline.c",
-    "src/core/support/cpu_iphone.c",
-    "src/core/support/cpu_linux.c",
-    "src/core/support/cpu_posix.c",
-    "src/core/support/cpu_windows.c",
-    "src/core/support/env_linux.c",
-    "src/core/support/env_posix.c",
-    "src/core/support/env_win32.c",
-    "src/core/support/histogram.c",
-    "src/core/support/host_port.c",
-    "src/core/support/load_file.c",
-    "src/core/support/log.c",
-    "src/core/support/log_android.c",
-    "src/core/support/log_linux.c",
-    "src/core/support/log_posix.c",
-    "src/core/support/log_win32.c",
-    "src/core/support/murmur_hash.c",
-    "src/core/support/slice.c",
-    "src/core/support/slice_buffer.c",
-    "src/core/support/stack_lockfree.c",
-    "src/core/support/string.c",
-    "src/core/support/string_posix.c",
-    "src/core/support/string_win32.c",
-    "src/core/support/subprocess_posix.c",
-    "src/core/support/subprocess_windows.c",
-    "src/core/support/sync.c",
-    "src/core/support/sync_posix.c",
-    "src/core/support/sync_win32.c",
-    "src/core/support/thd.c",
-    "src/core/support/thd_posix.c",
-    "src/core/support/thd_win32.c",
-    "src/core/support/time.c",
-    "src/core/support/time_posix.c",
-    "src/core/support/time_precise.c",
-    "src/core/support/time_win32.c",
-    "src/core/support/tls_pthread.c",
-    "src/core/support/tmpfile_posix.c",
-    "src/core/support/tmpfile_win32.c",
-    "src/core/support/wrap_memcpy.c",
+    "src/core/lib/profiling/basic_timers.c",
+    "src/core/lib/profiling/stap_timers.c",
+    "src/core/lib/support/alloc.c",
+    "src/core/lib/support/avl.c",
+    "src/core/lib/support/backoff.c",
+    "src/core/lib/support/cmdline.c",
+    "src/core/lib/support/cpu_iphone.c",
+    "src/core/lib/support/cpu_linux.c",
+    "src/core/lib/support/cpu_posix.c",
+    "src/core/lib/support/cpu_windows.c",
+    "src/core/lib/support/env_linux.c",
+    "src/core/lib/support/env_posix.c",
+    "src/core/lib/support/env_win32.c",
+    "src/core/lib/support/histogram.c",
+    "src/core/lib/support/host_port.c",
+    "src/core/lib/support/load_file.c",
+    "src/core/lib/support/log.c",
+    "src/core/lib/support/log_android.c",
+    "src/core/lib/support/log_linux.c",
+    "src/core/lib/support/log_posix.c",
+    "src/core/lib/support/log_win32.c",
+    "src/core/lib/support/murmur_hash.c",
+    "src/core/lib/support/slice.c",
+    "src/core/lib/support/slice_buffer.c",
+    "src/core/lib/support/stack_lockfree.c",
+    "src/core/lib/support/string.c",
+    "src/core/lib/support/string_posix.c",
+    "src/core/lib/support/string_win32.c",
+    "src/core/lib/support/subprocess_posix.c",
+    "src/core/lib/support/subprocess_windows.c",
+    "src/core/lib/support/sync.c",
+    "src/core/lib/support/sync_posix.c",
+    "src/core/lib/support/sync_win32.c",
+    "src/core/lib/support/thd.c",
+    "src/core/lib/support/thd_posix.c",
+    "src/core/lib/support/thd_win32.c",
+    "src/core/lib/support/time.c",
+    "src/core/lib/support/time_posix.c",
+    "src/core/lib/support/time_precise.c",
+    "src/core/lib/support/time_win32.c",
+    "src/core/lib/support/tls_pthread.c",
+    "src/core/lib/support/tmpfile_posix.c",
+    "src/core/lib/support/tmpfile_win32.c",
+    "src/core/lib/support/wrap_memcpy.c",
   ],
   hdrs = [
     "include/grpc/support/alloc.h",
@@ -1336,18 +1336,18 @@
     "include/grpc/impl/codegen/sync_posix.h",
     "include/grpc/impl/codegen/sync_win32.h",
     "include/grpc/impl/codegen/time.h",
-    "src/core/profiling/timers.h",
-    "src/core/support/backoff.h",
-    "src/core/support/block_annotate.h",
-    "src/core/support/env.h",
-    "src/core/support/load_file.h",
-    "src/core/support/murmur_hash.h",
-    "src/core/support/stack_lockfree.h",
-    "src/core/support/string.h",
-    "src/core/support/string_win32.h",
-    "src/core/support/thd_internal.h",
-    "src/core/support/time_precise.h",
-    "src/core/support/tmpfile.h",
+    "src/core/lib/profiling/timers.h",
+    "src/core/lib/support/backoff.h",
+    "src/core/lib/support/block_annotate.h",
+    "src/core/lib/support/env.h",
+    "src/core/lib/support/load_file.h",
+    "src/core/lib/support/murmur_hash.h",
+    "src/core/lib/support/stack_lockfree.h",
+    "src/core/lib/support/string.h",
+    "src/core/lib/support/string_win32.h",
+    "src/core/lib/support/thd_internal.h",
+    "src/core/lib/support/time_precise.h",
+    "src/core/lib/support/tmpfile.h",
   ],
   includes = [
     "include",
@@ -1361,167 +1361,167 @@
 objc_library(
   name = "grpc_objc",
   srcs = [
-    "src/core/census/grpc_context.c",
-    "src/core/census/grpc_filter.c",
-    "src/core/census/grpc_plugin.c",
-    "src/core/channel/channel_args.c",
-    "src/core/channel/channel_stack.c",
-    "src/core/channel/channel_stack_builder.c",
-    "src/core/channel/client_channel.c",
-    "src/core/channel/compress_filter.c",
-    "src/core/channel/connected_channel.c",
-    "src/core/channel/http_client_filter.c",
-    "src/core/channel/http_server_filter.c",
-    "src/core/channel/subchannel_call_holder.c",
-    "src/core/client_config/client_config.c",
-    "src/core/client_config/connector.c",
-    "src/core/client_config/default_initial_connect_string.c",
-    "src/core/client_config/initial_connect_string.c",
-    "src/core/client_config/lb_policies/load_balancer_api.c",
-    "src/core/client_config/lb_policies/pick_first.c",
-    "src/core/client_config/lb_policies/round_robin.c",
-    "src/core/client_config/lb_policy.c",
-    "src/core/client_config/lb_policy_factory.c",
-    "src/core/client_config/lb_policy_registry.c",
-    "src/core/client_config/resolver.c",
-    "src/core/client_config/resolver_factory.c",
-    "src/core/client_config/resolver_registry.c",
-    "src/core/client_config/resolvers/dns_resolver.c",
-    "src/core/client_config/resolvers/sockaddr_resolver.c",
-    "src/core/client_config/subchannel.c",
-    "src/core/client_config/subchannel_factory.c",
-    "src/core/client_config/subchannel_index.c",
-    "src/core/client_config/uri_parser.c",
-    "src/core/compression/compression_algorithm.c",
-    "src/core/compression/message_compress.c",
-    "src/core/debug/trace.c",
-    "src/core/http/format_request.c",
-    "src/core/http/httpcli.c",
-    "src/core/http/parser.c",
-    "src/core/iomgr/closure.c",
-    "src/core/iomgr/endpoint.c",
-    "src/core/iomgr/endpoint_pair_posix.c",
-    "src/core/iomgr/endpoint_pair_windows.c",
-    "src/core/iomgr/exec_ctx.c",
-    "src/core/iomgr/executor.c",
-    "src/core/iomgr/fd_posix.c",
-    "src/core/iomgr/iocp_windows.c",
-    "src/core/iomgr/iomgr.c",
-    "src/core/iomgr/iomgr_posix.c",
-    "src/core/iomgr/iomgr_windows.c",
-    "src/core/iomgr/pollset_multipoller_with_epoll.c",
-    "src/core/iomgr/pollset_multipoller_with_poll_posix.c",
-    "src/core/iomgr/pollset_posix.c",
-    "src/core/iomgr/pollset_set_posix.c",
-    "src/core/iomgr/pollset_set_windows.c",
-    "src/core/iomgr/pollset_windows.c",
-    "src/core/iomgr/resolve_address_posix.c",
-    "src/core/iomgr/resolve_address_windows.c",
-    "src/core/iomgr/sockaddr_utils.c",
-    "src/core/iomgr/socket_utils_common_posix.c",
-    "src/core/iomgr/socket_utils_linux.c",
-    "src/core/iomgr/socket_utils_posix.c",
-    "src/core/iomgr/socket_windows.c",
-    "src/core/iomgr/tcp_client_posix.c",
-    "src/core/iomgr/tcp_client_windows.c",
-    "src/core/iomgr/tcp_posix.c",
-    "src/core/iomgr/tcp_server_posix.c",
-    "src/core/iomgr/tcp_server_windows.c",
-    "src/core/iomgr/tcp_windows.c",
-    "src/core/iomgr/time_averaged_stats.c",
-    "src/core/iomgr/timer.c",
-    "src/core/iomgr/timer_heap.c",
-    "src/core/iomgr/udp_server.c",
-    "src/core/iomgr/unix_sockets_posix.c",
-    "src/core/iomgr/unix_sockets_posix_noop.c",
-    "src/core/iomgr/wakeup_fd_eventfd.c",
-    "src/core/iomgr/wakeup_fd_nospecial.c",
-    "src/core/iomgr/wakeup_fd_pipe.c",
-    "src/core/iomgr/wakeup_fd_posix.c",
-    "src/core/iomgr/workqueue_posix.c",
-    "src/core/iomgr/workqueue_windows.c",
-    "src/core/json/json.c",
-    "src/core/json/json_reader.c",
-    "src/core/json/json_string.c",
-    "src/core/json/json_writer.c",
-    "src/core/proto/grpc/lb/v0/load_balancer.pb.c",
-    "src/core/surface/alarm.c",
-    "src/core/surface/api_trace.c",
-    "src/core/surface/byte_buffer.c",
-    "src/core/surface/byte_buffer_reader.c",
-    "src/core/surface/call.c",
-    "src/core/surface/call_details.c",
-    "src/core/surface/call_log_batch.c",
-    "src/core/surface/channel.c",
-    "src/core/surface/channel_connectivity.c",
-    "src/core/surface/channel_create.c",
-    "src/core/surface/channel_init.c",
-    "src/core/surface/channel_ping.c",
-    "src/core/surface/channel_stack_type.c",
-    "src/core/surface/completion_queue.c",
-    "src/core/surface/event_string.c",
-    "src/core/surface/init.c",
-    "src/core/surface/lame_client.c",
-    "src/core/surface/metadata_array.c",
-    "src/core/surface/server.c",
-    "src/core/surface/server_chttp2.c",
-    "src/core/surface/validate_metadata.c",
-    "src/core/surface/version.c",
-    "src/core/transport/byte_stream.c",
-    "src/core/transport/chttp2/alpn.c",
-    "src/core/transport/chttp2/bin_encoder.c",
-    "src/core/transport/chttp2/frame_data.c",
-    "src/core/transport/chttp2/frame_goaway.c",
-    "src/core/transport/chttp2/frame_ping.c",
-    "src/core/transport/chttp2/frame_rst_stream.c",
-    "src/core/transport/chttp2/frame_settings.c",
-    "src/core/transport/chttp2/frame_window_update.c",
-    "src/core/transport/chttp2/hpack_encoder.c",
-    "src/core/transport/chttp2/hpack_parser.c",
-    "src/core/transport/chttp2/hpack_table.c",
-    "src/core/transport/chttp2/huffsyms.c",
-    "src/core/transport/chttp2/incoming_metadata.c",
-    "src/core/transport/chttp2/parsing.c",
-    "src/core/transport/chttp2/status_conversion.c",
-    "src/core/transport/chttp2/stream_lists.c",
-    "src/core/transport/chttp2/stream_map.c",
-    "src/core/transport/chttp2/timeout_encoding.c",
-    "src/core/transport/chttp2/varint.c",
-    "src/core/transport/chttp2/writing.c",
-    "src/core/transport/chttp2_transport.c",
-    "src/core/transport/connectivity_state.c",
-    "src/core/transport/metadata.c",
-    "src/core/transport/metadata_batch.c",
-    "src/core/transport/static_metadata.c",
-    "src/core/transport/transport.c",
-    "src/core/transport/transport_op_string.c",
-    "src/core/http/httpcli_security_connector.c",
-    "src/core/security/b64.c",
-    "src/core/security/client_auth_filter.c",
-    "src/core/security/credentials.c",
-    "src/core/security/credentials_metadata.c",
-    "src/core/security/credentials_posix.c",
-    "src/core/security/credentials_win32.c",
-    "src/core/security/google_default_credentials.c",
-    "src/core/security/handshake.c",
-    "src/core/security/json_token.c",
-    "src/core/security/jwt_verifier.c",
-    "src/core/security/secure_endpoint.c",
-    "src/core/security/security_connector.c",
-    "src/core/security/security_context.c",
-    "src/core/security/server_auth_filter.c",
-    "src/core/security/server_secure_chttp2.c",
-    "src/core/surface/init_secure.c",
-    "src/core/surface/secure_channel_create.c",
-    "src/core/tsi/fake_transport_security.c",
-    "src/core/tsi/ssl_transport_security.c",
-    "src/core/tsi/transport_security.c",
-    "src/core/census/context.c",
-    "src/core/census/initialize.c",
-    "src/core/census/mlog.c",
-    "src/core/census/operation.c",
-    "src/core/census/placeholders.c",
-    "src/core/census/tracing.c",
+    "src/core/lib/census/grpc_context.c",
+    "src/core/lib/census/grpc_filter.c",
+    "src/core/lib/census/grpc_plugin.c",
+    "src/core/lib/channel/channel_args.c",
+    "src/core/lib/channel/channel_stack.c",
+    "src/core/lib/channel/channel_stack_builder.c",
+    "src/core/lib/channel/client_channel.c",
+    "src/core/lib/channel/compress_filter.c",
+    "src/core/lib/channel/connected_channel.c",
+    "src/core/lib/channel/http_client_filter.c",
+    "src/core/lib/channel/http_server_filter.c",
+    "src/core/lib/channel/subchannel_call_holder.c",
+    "src/core/lib/client_config/client_config.c",
+    "src/core/lib/client_config/connector.c",
+    "src/core/lib/client_config/default_initial_connect_string.c",
+    "src/core/lib/client_config/initial_connect_string.c",
+    "src/core/lib/client_config/lb_policies/load_balancer_api.c",
+    "src/core/lib/client_config/lb_policies/pick_first.c",
+    "src/core/lib/client_config/lb_policies/round_robin.c",
+    "src/core/lib/client_config/lb_policy.c",
+    "src/core/lib/client_config/lb_policy_factory.c",
+    "src/core/lib/client_config/lb_policy_registry.c",
+    "src/core/lib/client_config/resolver.c",
+    "src/core/lib/client_config/resolver_factory.c",
+    "src/core/lib/client_config/resolver_registry.c",
+    "src/core/lib/client_config/resolvers/dns_resolver.c",
+    "src/core/lib/client_config/resolvers/sockaddr_resolver.c",
+    "src/core/lib/client_config/subchannel.c",
+    "src/core/lib/client_config/subchannel_factory.c",
+    "src/core/lib/client_config/subchannel_index.c",
+    "src/core/lib/client_config/uri_parser.c",
+    "src/core/lib/compression/compression_algorithm.c",
+    "src/core/lib/compression/message_compress.c",
+    "src/core/lib/debug/trace.c",
+    "src/core/lib/http/format_request.c",
+    "src/core/lib/http/httpcli.c",
+    "src/core/lib/http/parser.c",
+    "src/core/lib/iomgr/closure.c",
+    "src/core/lib/iomgr/endpoint.c",
+    "src/core/lib/iomgr/endpoint_pair_posix.c",
+    "src/core/lib/iomgr/endpoint_pair_windows.c",
+    "src/core/lib/iomgr/exec_ctx.c",
+    "src/core/lib/iomgr/executor.c",
+    "src/core/lib/iomgr/fd_posix.c",
+    "src/core/lib/iomgr/iocp_windows.c",
+    "src/core/lib/iomgr/iomgr.c",
+    "src/core/lib/iomgr/iomgr_posix.c",
+    "src/core/lib/iomgr/iomgr_windows.c",
+    "src/core/lib/iomgr/pollset_multipoller_with_epoll.c",
+    "src/core/lib/iomgr/pollset_multipoller_with_poll_posix.c",
+    "src/core/lib/iomgr/pollset_posix.c",
+    "src/core/lib/iomgr/pollset_set_posix.c",
+    "src/core/lib/iomgr/pollset_set_windows.c",
+    "src/core/lib/iomgr/pollset_windows.c",
+    "src/core/lib/iomgr/resolve_address_posix.c",
+    "src/core/lib/iomgr/resolve_address_windows.c",
+    "src/core/lib/iomgr/sockaddr_utils.c",
+    "src/core/lib/iomgr/socket_utils_common_posix.c",
+    "src/core/lib/iomgr/socket_utils_linux.c",
+    "src/core/lib/iomgr/socket_utils_posix.c",
+    "src/core/lib/iomgr/socket_windows.c",
+    "src/core/lib/iomgr/tcp_client_posix.c",
+    "src/core/lib/iomgr/tcp_client_windows.c",
+    "src/core/lib/iomgr/tcp_posix.c",
+    "src/core/lib/iomgr/tcp_server_posix.c",
+    "src/core/lib/iomgr/tcp_server_windows.c",
+    "src/core/lib/iomgr/tcp_windows.c",
+    "src/core/lib/iomgr/time_averaged_stats.c",
+    "src/core/lib/iomgr/timer.c",
+    "src/core/lib/iomgr/timer_heap.c",
+    "src/core/lib/iomgr/udp_server.c",
+    "src/core/lib/iomgr/unix_sockets_posix.c",
+    "src/core/lib/iomgr/unix_sockets_posix_noop.c",
+    "src/core/lib/iomgr/wakeup_fd_eventfd.c",
+    "src/core/lib/iomgr/wakeup_fd_nospecial.c",
+    "src/core/lib/iomgr/wakeup_fd_pipe.c",
+    "src/core/lib/iomgr/wakeup_fd_posix.c",
+    "src/core/lib/iomgr/workqueue_posix.c",
+    "src/core/lib/iomgr/workqueue_windows.c",
+    "src/core/lib/json/json.c",
+    "src/core/lib/json/json_reader.c",
+    "src/core/lib/json/json_string.c",
+    "src/core/lib/json/json_writer.c",
+    "src/core/lib/proto/grpc/lb/v0/load_balancer.pb.c",
+    "src/core/lib/surface/alarm.c",
+    "src/core/lib/surface/api_trace.c",
+    "src/core/lib/surface/byte_buffer.c",
+    "src/core/lib/surface/byte_buffer_reader.c",
+    "src/core/lib/surface/call.c",
+    "src/core/lib/surface/call_details.c",
+    "src/core/lib/surface/call_log_batch.c",
+    "src/core/lib/surface/channel.c",
+    "src/core/lib/surface/channel_connectivity.c",
+    "src/core/lib/surface/channel_create.c",
+    "src/core/lib/surface/channel_init.c",
+    "src/core/lib/surface/channel_ping.c",
+    "src/core/lib/surface/channel_stack_type.c",
+    "src/core/lib/surface/completion_queue.c",
+    "src/core/lib/surface/event_string.c",
+    "src/core/lib/surface/init.c",
+    "src/core/lib/surface/lame_client.c",
+    "src/core/lib/surface/metadata_array.c",
+    "src/core/lib/surface/server.c",
+    "src/core/lib/surface/server_chttp2.c",
+    "src/core/lib/surface/validate_metadata.c",
+    "src/core/lib/surface/version.c",
+    "src/core/lib/transport/byte_stream.c",
+    "src/core/lib/transport/chttp2/alpn.c",
+    "src/core/lib/transport/chttp2/bin_encoder.c",
+    "src/core/lib/transport/chttp2/frame_data.c",
+    "src/core/lib/transport/chttp2/frame_goaway.c",
+    "src/core/lib/transport/chttp2/frame_ping.c",
+    "src/core/lib/transport/chttp2/frame_rst_stream.c",
+    "src/core/lib/transport/chttp2/frame_settings.c",
+    "src/core/lib/transport/chttp2/frame_window_update.c",
+    "src/core/lib/transport/chttp2/hpack_encoder.c",
+    "src/core/lib/transport/chttp2/hpack_parser.c",
+    "src/core/lib/transport/chttp2/hpack_table.c",
+    "src/core/lib/transport/chttp2/huffsyms.c",
+    "src/core/lib/transport/chttp2/incoming_metadata.c",
+    "src/core/lib/transport/chttp2/parsing.c",
+    "src/core/lib/transport/chttp2/status_conversion.c",
+    "src/core/lib/transport/chttp2/stream_lists.c",
+    "src/core/lib/transport/chttp2/stream_map.c",
+    "src/core/lib/transport/chttp2/timeout_encoding.c",
+    "src/core/lib/transport/chttp2/varint.c",
+    "src/core/lib/transport/chttp2/writing.c",
+    "src/core/lib/transport/chttp2_transport.c",
+    "src/core/lib/transport/connectivity_state.c",
+    "src/core/lib/transport/metadata.c",
+    "src/core/lib/transport/metadata_batch.c",
+    "src/core/lib/transport/static_metadata.c",
+    "src/core/lib/transport/transport.c",
+    "src/core/lib/transport/transport_op_string.c",
+    "src/core/lib/http/httpcli_security_connector.c",
+    "src/core/lib/security/b64.c",
+    "src/core/lib/security/client_auth_filter.c",
+    "src/core/lib/security/credentials.c",
+    "src/core/lib/security/credentials_metadata.c",
+    "src/core/lib/security/credentials_posix.c",
+    "src/core/lib/security/credentials_win32.c",
+    "src/core/lib/security/google_default_credentials.c",
+    "src/core/lib/security/handshake.c",
+    "src/core/lib/security/json_token.c",
+    "src/core/lib/security/jwt_verifier.c",
+    "src/core/lib/security/secure_endpoint.c",
+    "src/core/lib/security/security_connector.c",
+    "src/core/lib/security/security_context.c",
+    "src/core/lib/security/server_auth_filter.c",
+    "src/core/lib/security/server_secure_chttp2.c",
+    "src/core/lib/surface/init_secure.c",
+    "src/core/lib/surface/secure_channel_create.c",
+    "src/core/lib/tsi/fake_transport_security.c",
+    "src/core/lib/tsi/ssl_transport_security.c",
+    "src/core/lib/tsi/transport_security.c",
+    "src/core/lib/census/context.c",
+    "src/core/lib/census/initialize.c",
+    "src/core/lib/census/mlog.c",
+    "src/core/lib/census/operation.c",
+    "src/core/lib/census/placeholders.c",
+    "src/core/lib/census/tracing.c",
     "third_party/nanopb/pb_common.c",
     "third_party/nanopb/pb_decode.c",
     "third_party/nanopb/pb_encode.c",
@@ -1540,143 +1540,143 @@
     "include/grpc/impl/codegen/propagation_bits.h",
     "include/grpc/impl/codegen/status.h",
     "include/grpc/census.h",
-    "src/core/census/grpc_filter.h",
-    "src/core/census/grpc_plugin.h",
-    "src/core/channel/channel_args.h",
-    "src/core/channel/channel_stack.h",
-    "src/core/channel/channel_stack_builder.h",
-    "src/core/channel/client_channel.h",
-    "src/core/channel/compress_filter.h",
-    "src/core/channel/connected_channel.h",
-    "src/core/channel/context.h",
-    "src/core/channel/http_client_filter.h",
-    "src/core/channel/http_server_filter.h",
-    "src/core/channel/subchannel_call_holder.h",
-    "src/core/client_config/client_config.h",
-    "src/core/client_config/connector.h",
-    "src/core/client_config/initial_connect_string.h",
-    "src/core/client_config/lb_policies/load_balancer_api.h",
-    "src/core/client_config/lb_policies/pick_first.h",
-    "src/core/client_config/lb_policies/round_robin.h",
-    "src/core/client_config/lb_policy.h",
-    "src/core/client_config/lb_policy_factory.h",
-    "src/core/client_config/lb_policy_registry.h",
-    "src/core/client_config/resolver.h",
-    "src/core/client_config/resolver_factory.h",
-    "src/core/client_config/resolver_registry.h",
-    "src/core/client_config/resolvers/dns_resolver.h",
-    "src/core/client_config/resolvers/sockaddr_resolver.h",
-    "src/core/client_config/subchannel.h",
-    "src/core/client_config/subchannel_factory.h",
-    "src/core/client_config/subchannel_index.h",
-    "src/core/client_config/uri_parser.h",
-    "src/core/compression/algorithm_metadata.h",
-    "src/core/compression/message_compress.h",
-    "src/core/debug/trace.h",
-    "src/core/http/format_request.h",
-    "src/core/http/httpcli.h",
-    "src/core/http/parser.h",
-    "src/core/iomgr/closure.h",
-    "src/core/iomgr/endpoint.h",
-    "src/core/iomgr/endpoint_pair.h",
-    "src/core/iomgr/exec_ctx.h",
-    "src/core/iomgr/executor.h",
-    "src/core/iomgr/fd_posix.h",
-    "src/core/iomgr/iocp_windows.h",
-    "src/core/iomgr/iomgr.h",
-    "src/core/iomgr/iomgr_internal.h",
-    "src/core/iomgr/iomgr_posix.h",
-    "src/core/iomgr/pollset.h",
-    "src/core/iomgr/pollset_posix.h",
-    "src/core/iomgr/pollset_set.h",
-    "src/core/iomgr/pollset_set_posix.h",
-    "src/core/iomgr/pollset_set_windows.h",
-    "src/core/iomgr/pollset_windows.h",
-    "src/core/iomgr/resolve_address.h",
-    "src/core/iomgr/sockaddr.h",
-    "src/core/iomgr/sockaddr_posix.h",
-    "src/core/iomgr/sockaddr_utils.h",
-    "src/core/iomgr/sockaddr_win32.h",
-    "src/core/iomgr/socket_utils_posix.h",
-    "src/core/iomgr/socket_windows.h",
-    "src/core/iomgr/tcp_client.h",
-    "src/core/iomgr/tcp_posix.h",
-    "src/core/iomgr/tcp_server.h",
-    "src/core/iomgr/tcp_windows.h",
-    "src/core/iomgr/time_averaged_stats.h",
-    "src/core/iomgr/timer.h",
-    "src/core/iomgr/timer_heap.h",
-    "src/core/iomgr/udp_server.h",
-    "src/core/iomgr/unix_sockets_posix.h",
-    "src/core/iomgr/wakeup_fd_pipe.h",
-    "src/core/iomgr/wakeup_fd_posix.h",
-    "src/core/iomgr/workqueue.h",
-    "src/core/iomgr/workqueue_posix.h",
-    "src/core/iomgr/workqueue_windows.h",
-    "src/core/json/json.h",
-    "src/core/json/json_common.h",
-    "src/core/json/json_reader.h",
-    "src/core/json/json_writer.h",
-    "src/core/proto/grpc/lb/v0/load_balancer.pb.h",
-    "src/core/statistics/census_interface.h",
-    "src/core/statistics/census_rpc_stats.h",
-    "src/core/surface/api_trace.h",
-    "src/core/surface/call.h",
-    "src/core/surface/call_test_only.h",
-    "src/core/surface/channel.h",
-    "src/core/surface/channel_init.h",
-    "src/core/surface/channel_stack_type.h",
-    "src/core/surface/completion_queue.h",
-    "src/core/surface/event_string.h",
-    "src/core/surface/init.h",
-    "src/core/surface/lame_client.h",
-    "src/core/surface/server.h",
-    "src/core/surface/surface_trace.h",
-    "src/core/transport/byte_stream.h",
-    "src/core/transport/chttp2/alpn.h",
-    "src/core/transport/chttp2/bin_encoder.h",
-    "src/core/transport/chttp2/frame.h",
-    "src/core/transport/chttp2/frame_data.h",
-    "src/core/transport/chttp2/frame_goaway.h",
-    "src/core/transport/chttp2/frame_ping.h",
-    "src/core/transport/chttp2/frame_rst_stream.h",
-    "src/core/transport/chttp2/frame_settings.h",
-    "src/core/transport/chttp2/frame_window_update.h",
-    "src/core/transport/chttp2/hpack_encoder.h",
-    "src/core/transport/chttp2/hpack_parser.h",
-    "src/core/transport/chttp2/hpack_table.h",
-    "src/core/transport/chttp2/http2_errors.h",
-    "src/core/transport/chttp2/huffsyms.h",
-    "src/core/transport/chttp2/incoming_metadata.h",
-    "src/core/transport/chttp2/internal.h",
-    "src/core/transport/chttp2/status_conversion.h",
-    "src/core/transport/chttp2/stream_map.h",
-    "src/core/transport/chttp2/timeout_encoding.h",
-    "src/core/transport/chttp2/varint.h",
-    "src/core/transport/chttp2_transport.h",
-    "src/core/transport/connectivity_state.h",
-    "src/core/transport/metadata.h",
-    "src/core/transport/metadata_batch.h",
-    "src/core/transport/static_metadata.h",
-    "src/core/transport/transport.h",
-    "src/core/transport/transport_impl.h",
-    "src/core/security/auth_filters.h",
-    "src/core/security/b64.h",
-    "src/core/security/credentials.h",
-    "src/core/security/handshake.h",
-    "src/core/security/json_token.h",
-    "src/core/security/jwt_verifier.h",
-    "src/core/security/secure_endpoint.h",
-    "src/core/security/security_connector.h",
-    "src/core/security/security_context.h",
-    "src/core/tsi/fake_transport_security.h",
-    "src/core/tsi/ssl_transport_security.h",
-    "src/core/tsi/ssl_types.h",
-    "src/core/tsi/transport_security.h",
-    "src/core/tsi/transport_security_interface.h",
-    "src/core/census/aggregation.h",
-    "src/core/census/mlog.h",
-    "src/core/census/rpc_metric_id.h",
+    "src/core/lib/census/grpc_filter.h",
+    "src/core/lib/census/grpc_plugin.h",
+    "src/core/lib/channel/channel_args.h",
+    "src/core/lib/channel/channel_stack.h",
+    "src/core/lib/channel/channel_stack_builder.h",
+    "src/core/lib/channel/client_channel.h",
+    "src/core/lib/channel/compress_filter.h",
+    "src/core/lib/channel/connected_channel.h",
+    "src/core/lib/channel/context.h",
+    "src/core/lib/channel/http_client_filter.h",
+    "src/core/lib/channel/http_server_filter.h",
+    "src/core/lib/channel/subchannel_call_holder.h",
+    "src/core/lib/client_config/client_config.h",
+    "src/core/lib/client_config/connector.h",
+    "src/core/lib/client_config/initial_connect_string.h",
+    "src/core/lib/client_config/lb_policies/load_balancer_api.h",
+    "src/core/lib/client_config/lb_policies/pick_first.h",
+    "src/core/lib/client_config/lb_policies/round_robin.h",
+    "src/core/lib/client_config/lb_policy.h",
+    "src/core/lib/client_config/lb_policy_factory.h",
+    "src/core/lib/client_config/lb_policy_registry.h",
+    "src/core/lib/client_config/resolver.h",
+    "src/core/lib/client_config/resolver_factory.h",
+    "src/core/lib/client_config/resolver_registry.h",
+    "src/core/lib/client_config/resolvers/dns_resolver.h",
+    "src/core/lib/client_config/resolvers/sockaddr_resolver.h",
+    "src/core/lib/client_config/subchannel.h",
+    "src/core/lib/client_config/subchannel_factory.h",
+    "src/core/lib/client_config/subchannel_index.h",
+    "src/core/lib/client_config/uri_parser.h",
+    "src/core/lib/compression/algorithm_metadata.h",
+    "src/core/lib/compression/message_compress.h",
+    "src/core/lib/debug/trace.h",
+    "src/core/lib/http/format_request.h",
+    "src/core/lib/http/httpcli.h",
+    "src/core/lib/http/parser.h",
+    "src/core/lib/iomgr/closure.h",
+    "src/core/lib/iomgr/endpoint.h",
+    "src/core/lib/iomgr/endpoint_pair.h",
+    "src/core/lib/iomgr/exec_ctx.h",
+    "src/core/lib/iomgr/executor.h",
+    "src/core/lib/iomgr/fd_posix.h",
+    "src/core/lib/iomgr/iocp_windows.h",
+    "src/core/lib/iomgr/iomgr.h",
+    "src/core/lib/iomgr/iomgr_internal.h",
+    "src/core/lib/iomgr/iomgr_posix.h",
+    "src/core/lib/iomgr/pollset.h",
+    "src/core/lib/iomgr/pollset_posix.h",
+    "src/core/lib/iomgr/pollset_set.h",
+    "src/core/lib/iomgr/pollset_set_posix.h",
+    "src/core/lib/iomgr/pollset_set_windows.h",
+    "src/core/lib/iomgr/pollset_windows.h",
+    "src/core/lib/iomgr/resolve_address.h",
+    "src/core/lib/iomgr/sockaddr.h",
+    "src/core/lib/iomgr/sockaddr_posix.h",
+    "src/core/lib/iomgr/sockaddr_utils.h",
+    "src/core/lib/iomgr/sockaddr_win32.h",
+    "src/core/lib/iomgr/socket_utils_posix.h",
+    "src/core/lib/iomgr/socket_windows.h",
+    "src/core/lib/iomgr/tcp_client.h",
+    "src/core/lib/iomgr/tcp_posix.h",
+    "src/core/lib/iomgr/tcp_server.h",
+    "src/core/lib/iomgr/tcp_windows.h",
+    "src/core/lib/iomgr/time_averaged_stats.h",
+    "src/core/lib/iomgr/timer.h",
+    "src/core/lib/iomgr/timer_heap.h",
+    "src/core/lib/iomgr/udp_server.h",
+    "src/core/lib/iomgr/unix_sockets_posix.h",
+    "src/core/lib/iomgr/wakeup_fd_pipe.h",
+    "src/core/lib/iomgr/wakeup_fd_posix.h",
+    "src/core/lib/iomgr/workqueue.h",
+    "src/core/lib/iomgr/workqueue_posix.h",
+    "src/core/lib/iomgr/workqueue_windows.h",
+    "src/core/lib/json/json.h",
+    "src/core/lib/json/json_common.h",
+    "src/core/lib/json/json_reader.h",
+    "src/core/lib/json/json_writer.h",
+    "src/core/lib/proto/grpc/lb/v0/load_balancer.pb.h",
+    "src/core/lib/statistics/census_interface.h",
+    "src/core/lib/statistics/census_rpc_stats.h",
+    "src/core/lib/surface/api_trace.h",
+    "src/core/lib/surface/call.h",
+    "src/core/lib/surface/call_test_only.h",
+    "src/core/lib/surface/channel.h",
+    "src/core/lib/surface/channel_init.h",
+    "src/core/lib/surface/channel_stack_type.h",
+    "src/core/lib/surface/completion_queue.h",
+    "src/core/lib/surface/event_string.h",
+    "src/core/lib/surface/init.h",
+    "src/core/lib/surface/lame_client.h",
+    "src/core/lib/surface/server.h",
+    "src/core/lib/surface/surface_trace.h",
+    "src/core/lib/transport/byte_stream.h",
+    "src/core/lib/transport/chttp2/alpn.h",
+    "src/core/lib/transport/chttp2/bin_encoder.h",
+    "src/core/lib/transport/chttp2/frame.h",
+    "src/core/lib/transport/chttp2/frame_data.h",
+    "src/core/lib/transport/chttp2/frame_goaway.h",
+    "src/core/lib/transport/chttp2/frame_ping.h",
+    "src/core/lib/transport/chttp2/frame_rst_stream.h",
+    "src/core/lib/transport/chttp2/frame_settings.h",
+    "src/core/lib/transport/chttp2/frame_window_update.h",
+    "src/core/lib/transport/chttp2/hpack_encoder.h",
+    "src/core/lib/transport/chttp2/hpack_parser.h",
+    "src/core/lib/transport/chttp2/hpack_table.h",
+    "src/core/lib/transport/chttp2/http2_errors.h",
+    "src/core/lib/transport/chttp2/huffsyms.h",
+    "src/core/lib/transport/chttp2/incoming_metadata.h",
+    "src/core/lib/transport/chttp2/internal.h",
+    "src/core/lib/transport/chttp2/status_conversion.h",
+    "src/core/lib/transport/chttp2/stream_map.h",
+    "src/core/lib/transport/chttp2/timeout_encoding.h",
+    "src/core/lib/transport/chttp2/varint.h",
+    "src/core/lib/transport/chttp2_transport.h",
+    "src/core/lib/transport/connectivity_state.h",
+    "src/core/lib/transport/metadata.h",
+    "src/core/lib/transport/metadata_batch.h",
+    "src/core/lib/transport/static_metadata.h",
+    "src/core/lib/transport/transport.h",
+    "src/core/lib/transport/transport_impl.h",
+    "src/core/lib/security/auth_filters.h",
+    "src/core/lib/security/b64.h",
+    "src/core/lib/security/credentials.h",
+    "src/core/lib/security/handshake.h",
+    "src/core/lib/security/json_token.h",
+    "src/core/lib/security/jwt_verifier.h",
+    "src/core/lib/security/secure_endpoint.h",
+    "src/core/lib/security/security_connector.h",
+    "src/core/lib/security/security_context.h",
+    "src/core/lib/tsi/fake_transport_security.h",
+    "src/core/lib/tsi/ssl_transport_security.h",
+    "src/core/lib/tsi/ssl_types.h",
+    "src/core/lib/tsi/transport_security.h",
+    "src/core/lib/tsi/transport_security_interface.h",
+    "src/core/lib/census/aggregation.h",
+    "src/core/lib/census/mlog.h",
+    "src/core/lib/census/rpc_metric_id.h",
     "third_party/nanopb/pb.h",
     "third_party/nanopb/pb_common.h",
     "third_party/nanopb/pb_decode.h",
diff --git a/Makefile b/Makefile
index 6c100f6..112b7f8 100644
--- a/Makefile
+++ b/Makefile
@@ -2268,50 +2268,50 @@
 
 
 LIBGPR_SRC = \
-    src/core/profiling/basic_timers.c \
-    src/core/profiling/stap_timers.c \
-    src/core/support/alloc.c \
-    src/core/support/avl.c \
-    src/core/support/backoff.c \
-    src/core/support/cmdline.c \
-    src/core/support/cpu_iphone.c \
-    src/core/support/cpu_linux.c \
-    src/core/support/cpu_posix.c \
-    src/core/support/cpu_windows.c \
-    src/core/support/env_linux.c \
-    src/core/support/env_posix.c \
-    src/core/support/env_win32.c \
-    src/core/support/histogram.c \
-    src/core/support/host_port.c \
-    src/core/support/load_file.c \
-    src/core/support/log.c \
-    src/core/support/log_android.c \
-    src/core/support/log_linux.c \
-    src/core/support/log_posix.c \
-    src/core/support/log_win32.c \
-    src/core/support/murmur_hash.c \
-    src/core/support/slice.c \
-    src/core/support/slice_buffer.c \
-    src/core/support/stack_lockfree.c \
-    src/core/support/string.c \
-    src/core/support/string_posix.c \
-    src/core/support/string_win32.c \
-    src/core/support/subprocess_posix.c \
-    src/core/support/subprocess_windows.c \
-    src/core/support/sync.c \
-    src/core/support/sync_posix.c \
-    src/core/support/sync_win32.c \
-    src/core/support/thd.c \
-    src/core/support/thd_posix.c \
-    src/core/support/thd_win32.c \
-    src/core/support/time.c \
-    src/core/support/time_posix.c \
-    src/core/support/time_precise.c \
-    src/core/support/time_win32.c \
-    src/core/support/tls_pthread.c \
-    src/core/support/tmpfile_posix.c \
-    src/core/support/tmpfile_win32.c \
-    src/core/support/wrap_memcpy.c \
+    src/core/lib/profiling/basic_timers.c \
+    src/core/lib/profiling/stap_timers.c \
+    src/core/lib/support/alloc.c \
+    src/core/lib/support/avl.c \
+    src/core/lib/support/backoff.c \
+    src/core/lib/support/cmdline.c \
+    src/core/lib/support/cpu_iphone.c \
+    src/core/lib/support/cpu_linux.c \
+    src/core/lib/support/cpu_posix.c \
+    src/core/lib/support/cpu_windows.c \
+    src/core/lib/support/env_linux.c \
+    src/core/lib/support/env_posix.c \
+    src/core/lib/support/env_win32.c \
+    src/core/lib/support/histogram.c \
+    src/core/lib/support/host_port.c \
+    src/core/lib/support/load_file.c \
+    src/core/lib/support/log.c \
+    src/core/lib/support/log_android.c \
+    src/core/lib/support/log_linux.c \
+    src/core/lib/support/log_posix.c \
+    src/core/lib/support/log_win32.c \
+    src/core/lib/support/murmur_hash.c \
+    src/core/lib/support/slice.c \
+    src/core/lib/support/slice_buffer.c \
+    src/core/lib/support/stack_lockfree.c \
+    src/core/lib/support/string.c \
+    src/core/lib/support/string_posix.c \
+    src/core/lib/support/string_win32.c \
+    src/core/lib/support/subprocess_posix.c \
+    src/core/lib/support/subprocess_windows.c \
+    src/core/lib/support/sync.c \
+    src/core/lib/support/sync_posix.c \
+    src/core/lib/support/sync_win32.c \
+    src/core/lib/support/thd.c \
+    src/core/lib/support/thd_posix.c \
+    src/core/lib/support/thd_win32.c \
+    src/core/lib/support/time.c \
+    src/core/lib/support/time_posix.c \
+    src/core/lib/support/time_precise.c \
+    src/core/lib/support/time_win32.c \
+    src/core/lib/support/tls_pthread.c \
+    src/core/lib/support/tmpfile_posix.c \
+    src/core/lib/support/tmpfile_win32.c \
+    src/core/lib/support/wrap_memcpy.c \
 
 PUBLIC_HEADERS_C += \
     include/grpc/support/alloc.h \
@@ -2419,167 +2419,167 @@
 
 
 LIBGRPC_SRC = \
-    src/core/census/grpc_context.c \
-    src/core/census/grpc_filter.c \
-    src/core/census/grpc_plugin.c \
-    src/core/channel/channel_args.c \
-    src/core/channel/channel_stack.c \
-    src/core/channel/channel_stack_builder.c \
-    src/core/channel/client_channel.c \
-    src/core/channel/compress_filter.c \
-    src/core/channel/connected_channel.c \
-    src/core/channel/http_client_filter.c \
-    src/core/channel/http_server_filter.c \
-    src/core/channel/subchannel_call_holder.c \
-    src/core/client_config/client_config.c \
-    src/core/client_config/connector.c \
-    src/core/client_config/default_initial_connect_string.c \
-    src/core/client_config/initial_connect_string.c \
-    src/core/client_config/lb_policies/load_balancer_api.c \
-    src/core/client_config/lb_policies/pick_first.c \
-    src/core/client_config/lb_policies/round_robin.c \
-    src/core/client_config/lb_policy.c \
-    src/core/client_config/lb_policy_factory.c \
-    src/core/client_config/lb_policy_registry.c \
-    src/core/client_config/resolver.c \
-    src/core/client_config/resolver_factory.c \
-    src/core/client_config/resolver_registry.c \
-    src/core/client_config/resolvers/dns_resolver.c \
-    src/core/client_config/resolvers/sockaddr_resolver.c \
-    src/core/client_config/subchannel.c \
-    src/core/client_config/subchannel_factory.c \
-    src/core/client_config/subchannel_index.c \
-    src/core/client_config/uri_parser.c \
-    src/core/compression/compression_algorithm.c \
-    src/core/compression/message_compress.c \
-    src/core/debug/trace.c \
-    src/core/http/format_request.c \
-    src/core/http/httpcli.c \
-    src/core/http/parser.c \
-    src/core/iomgr/closure.c \
-    src/core/iomgr/endpoint.c \
-    src/core/iomgr/endpoint_pair_posix.c \
-    src/core/iomgr/endpoint_pair_windows.c \
-    src/core/iomgr/exec_ctx.c \
-    src/core/iomgr/executor.c \
-    src/core/iomgr/fd_posix.c \
-    src/core/iomgr/iocp_windows.c \
-    src/core/iomgr/iomgr.c \
-    src/core/iomgr/iomgr_posix.c \
-    src/core/iomgr/iomgr_windows.c \
-    src/core/iomgr/pollset_multipoller_with_epoll.c \
-    src/core/iomgr/pollset_multipoller_with_poll_posix.c \
-    src/core/iomgr/pollset_posix.c \
-    src/core/iomgr/pollset_set_posix.c \
-    src/core/iomgr/pollset_set_windows.c \
-    src/core/iomgr/pollset_windows.c \
-    src/core/iomgr/resolve_address_posix.c \
-    src/core/iomgr/resolve_address_windows.c \
-    src/core/iomgr/sockaddr_utils.c \
-    src/core/iomgr/socket_utils_common_posix.c \
-    src/core/iomgr/socket_utils_linux.c \
-    src/core/iomgr/socket_utils_posix.c \
-    src/core/iomgr/socket_windows.c \
-    src/core/iomgr/tcp_client_posix.c \
-    src/core/iomgr/tcp_client_windows.c \
-    src/core/iomgr/tcp_posix.c \
-    src/core/iomgr/tcp_server_posix.c \
-    src/core/iomgr/tcp_server_windows.c \
-    src/core/iomgr/tcp_windows.c \
-    src/core/iomgr/time_averaged_stats.c \
-    src/core/iomgr/timer.c \
-    src/core/iomgr/timer_heap.c \
-    src/core/iomgr/udp_server.c \
-    src/core/iomgr/unix_sockets_posix.c \
-    src/core/iomgr/unix_sockets_posix_noop.c \
-    src/core/iomgr/wakeup_fd_eventfd.c \
-    src/core/iomgr/wakeup_fd_nospecial.c \
-    src/core/iomgr/wakeup_fd_pipe.c \
-    src/core/iomgr/wakeup_fd_posix.c \
-    src/core/iomgr/workqueue_posix.c \
-    src/core/iomgr/workqueue_windows.c \
-    src/core/json/json.c \
-    src/core/json/json_reader.c \
-    src/core/json/json_string.c \
-    src/core/json/json_writer.c \
-    src/core/proto/grpc/lb/v0/load_balancer.pb.c \
-    src/core/surface/alarm.c \
-    src/core/surface/api_trace.c \
-    src/core/surface/byte_buffer.c \
-    src/core/surface/byte_buffer_reader.c \
-    src/core/surface/call.c \
-    src/core/surface/call_details.c \
-    src/core/surface/call_log_batch.c \
-    src/core/surface/channel.c \
-    src/core/surface/channel_connectivity.c \
-    src/core/surface/channel_create.c \
-    src/core/surface/channel_init.c \
-    src/core/surface/channel_ping.c \
-    src/core/surface/channel_stack_type.c \
-    src/core/surface/completion_queue.c \
-    src/core/surface/event_string.c \
-    src/core/surface/init.c \
-    src/core/surface/lame_client.c \
-    src/core/surface/metadata_array.c \
-    src/core/surface/server.c \
-    src/core/surface/server_chttp2.c \
-    src/core/surface/validate_metadata.c \
-    src/core/surface/version.c \
-    src/core/transport/byte_stream.c \
-    src/core/transport/chttp2/alpn.c \
-    src/core/transport/chttp2/bin_encoder.c \
-    src/core/transport/chttp2/frame_data.c \
-    src/core/transport/chttp2/frame_goaway.c \
-    src/core/transport/chttp2/frame_ping.c \
-    src/core/transport/chttp2/frame_rst_stream.c \
-    src/core/transport/chttp2/frame_settings.c \
-    src/core/transport/chttp2/frame_window_update.c \
-    src/core/transport/chttp2/hpack_encoder.c \
-    src/core/transport/chttp2/hpack_parser.c \
-    src/core/transport/chttp2/hpack_table.c \
-    src/core/transport/chttp2/huffsyms.c \
-    src/core/transport/chttp2/incoming_metadata.c \
-    src/core/transport/chttp2/parsing.c \
-    src/core/transport/chttp2/status_conversion.c \
-    src/core/transport/chttp2/stream_lists.c \
-    src/core/transport/chttp2/stream_map.c \
-    src/core/transport/chttp2/timeout_encoding.c \
-    src/core/transport/chttp2/varint.c \
-    src/core/transport/chttp2/writing.c \
-    src/core/transport/chttp2_transport.c \
-    src/core/transport/connectivity_state.c \
-    src/core/transport/metadata.c \
-    src/core/transport/metadata_batch.c \
-    src/core/transport/static_metadata.c \
-    src/core/transport/transport.c \
-    src/core/transport/transport_op_string.c \
-    src/core/http/httpcli_security_connector.c \
-    src/core/security/b64.c \
-    src/core/security/client_auth_filter.c \
-    src/core/security/credentials.c \
-    src/core/security/credentials_metadata.c \
-    src/core/security/credentials_posix.c \
-    src/core/security/credentials_win32.c \
-    src/core/security/google_default_credentials.c \
-    src/core/security/handshake.c \
-    src/core/security/json_token.c \
-    src/core/security/jwt_verifier.c \
-    src/core/security/secure_endpoint.c \
-    src/core/security/security_connector.c \
-    src/core/security/security_context.c \
-    src/core/security/server_auth_filter.c \
-    src/core/security/server_secure_chttp2.c \
-    src/core/surface/init_secure.c \
-    src/core/surface/secure_channel_create.c \
-    src/core/tsi/fake_transport_security.c \
-    src/core/tsi/ssl_transport_security.c \
-    src/core/tsi/transport_security.c \
-    src/core/census/context.c \
-    src/core/census/initialize.c \
-    src/core/census/mlog.c \
-    src/core/census/operation.c \
-    src/core/census/placeholders.c \
-    src/core/census/tracing.c \
+    src/core/lib/census/grpc_context.c \
+    src/core/lib/census/grpc_filter.c \
+    src/core/lib/census/grpc_plugin.c \
+    src/core/lib/channel/channel_args.c \
+    src/core/lib/channel/channel_stack.c \
+    src/core/lib/channel/channel_stack_builder.c \
+    src/core/lib/channel/client_channel.c \
+    src/core/lib/channel/compress_filter.c \
+    src/core/lib/channel/connected_channel.c \
+    src/core/lib/channel/http_client_filter.c \
+    src/core/lib/channel/http_server_filter.c \
+    src/core/lib/channel/subchannel_call_holder.c \
+    src/core/lib/client_config/client_config.c \
+    src/core/lib/client_config/connector.c \
+    src/core/lib/client_config/default_initial_connect_string.c \
+    src/core/lib/client_config/initial_connect_string.c \
+    src/core/lib/client_config/lb_policies/load_balancer_api.c \
+    src/core/lib/client_config/lb_policies/pick_first.c \
+    src/core/lib/client_config/lb_policies/round_robin.c \
+    src/core/lib/client_config/lb_policy.c \
+    src/core/lib/client_config/lb_policy_factory.c \
+    src/core/lib/client_config/lb_policy_registry.c \
+    src/core/lib/client_config/resolver.c \
+    src/core/lib/client_config/resolver_factory.c \
+    src/core/lib/client_config/resolver_registry.c \
+    src/core/lib/client_config/resolvers/dns_resolver.c \
+    src/core/lib/client_config/resolvers/sockaddr_resolver.c \
+    src/core/lib/client_config/subchannel.c \
+    src/core/lib/client_config/subchannel_factory.c \
+    src/core/lib/client_config/subchannel_index.c \
+    src/core/lib/client_config/uri_parser.c \
+    src/core/lib/compression/compression_algorithm.c \
+    src/core/lib/compression/message_compress.c \
+    src/core/lib/debug/trace.c \
+    src/core/lib/http/format_request.c \
+    src/core/lib/http/httpcli.c \
+    src/core/lib/http/parser.c \
+    src/core/lib/iomgr/closure.c \
+    src/core/lib/iomgr/endpoint.c \
+    src/core/lib/iomgr/endpoint_pair_posix.c \
+    src/core/lib/iomgr/endpoint_pair_windows.c \
+    src/core/lib/iomgr/exec_ctx.c \
+    src/core/lib/iomgr/executor.c \
+    src/core/lib/iomgr/fd_posix.c \
+    src/core/lib/iomgr/iocp_windows.c \
+    src/core/lib/iomgr/iomgr.c \
+    src/core/lib/iomgr/iomgr_posix.c \
+    src/core/lib/iomgr/iomgr_windows.c \
+    src/core/lib/iomgr/pollset_multipoller_with_epoll.c \
+    src/core/lib/iomgr/pollset_multipoller_with_poll_posix.c \
+    src/core/lib/iomgr/pollset_posix.c \
+    src/core/lib/iomgr/pollset_set_posix.c \
+    src/core/lib/iomgr/pollset_set_windows.c \
+    src/core/lib/iomgr/pollset_windows.c \
+    src/core/lib/iomgr/resolve_address_posix.c \
+    src/core/lib/iomgr/resolve_address_windows.c \
+    src/core/lib/iomgr/sockaddr_utils.c \
+    src/core/lib/iomgr/socket_utils_common_posix.c \
+    src/core/lib/iomgr/socket_utils_linux.c \
+    src/core/lib/iomgr/socket_utils_posix.c \
+    src/core/lib/iomgr/socket_windows.c \
+    src/core/lib/iomgr/tcp_client_posix.c \
+    src/core/lib/iomgr/tcp_client_windows.c \
+    src/core/lib/iomgr/tcp_posix.c \
+    src/core/lib/iomgr/tcp_server_posix.c \
+    src/core/lib/iomgr/tcp_server_windows.c \
+    src/core/lib/iomgr/tcp_windows.c \
+    src/core/lib/iomgr/time_averaged_stats.c \
+    src/core/lib/iomgr/timer.c \
+    src/core/lib/iomgr/timer_heap.c \
+    src/core/lib/iomgr/udp_server.c \
+    src/core/lib/iomgr/unix_sockets_posix.c \
+    src/core/lib/iomgr/unix_sockets_posix_noop.c \
+    src/core/lib/iomgr/wakeup_fd_eventfd.c \
+    src/core/lib/iomgr/wakeup_fd_nospecial.c \
+    src/core/lib/iomgr/wakeup_fd_pipe.c \
+    src/core/lib/iomgr/wakeup_fd_posix.c \
+    src/core/lib/iomgr/workqueue_posix.c \
+    src/core/lib/iomgr/workqueue_windows.c \
+    src/core/lib/json/json.c \
+    src/core/lib/json/json_reader.c \
+    src/core/lib/json/json_string.c \
+    src/core/lib/json/json_writer.c \
+    src/core/lib/proto/grpc/lb/v0/load_balancer.pb.c \
+    src/core/lib/surface/alarm.c \
+    src/core/lib/surface/api_trace.c \
+    src/core/lib/surface/byte_buffer.c \
+    src/core/lib/surface/byte_buffer_reader.c \
+    src/core/lib/surface/call.c \
+    src/core/lib/surface/call_details.c \
+    src/core/lib/surface/call_log_batch.c \
+    src/core/lib/surface/channel.c \
+    src/core/lib/surface/channel_connectivity.c \
+    src/core/lib/surface/channel_create.c \
+    src/core/lib/surface/channel_init.c \
+    src/core/lib/surface/channel_ping.c \
+    src/core/lib/surface/channel_stack_type.c \
+    src/core/lib/surface/completion_queue.c \
+    src/core/lib/surface/event_string.c \
+    src/core/lib/surface/init.c \
+    src/core/lib/surface/lame_client.c \
+    src/core/lib/surface/metadata_array.c \
+    src/core/lib/surface/server.c \
+    src/core/lib/surface/server_chttp2.c \
+    src/core/lib/surface/validate_metadata.c \
+    src/core/lib/surface/version.c \
+    src/core/lib/transport/byte_stream.c \
+    src/core/lib/transport/chttp2/alpn.c \
+    src/core/lib/transport/chttp2/bin_encoder.c \
+    src/core/lib/transport/chttp2/frame_data.c \
+    src/core/lib/transport/chttp2/frame_goaway.c \
+    src/core/lib/transport/chttp2/frame_ping.c \
+    src/core/lib/transport/chttp2/frame_rst_stream.c \
+    src/core/lib/transport/chttp2/frame_settings.c \
+    src/core/lib/transport/chttp2/frame_window_update.c \
+    src/core/lib/transport/chttp2/hpack_encoder.c \
+    src/core/lib/transport/chttp2/hpack_parser.c \
+    src/core/lib/transport/chttp2/hpack_table.c \
+    src/core/lib/transport/chttp2/huffsyms.c \
+    src/core/lib/transport/chttp2/incoming_metadata.c \
+    src/core/lib/transport/chttp2/parsing.c \
+    src/core/lib/transport/chttp2/status_conversion.c \
+    src/core/lib/transport/chttp2/stream_lists.c \
+    src/core/lib/transport/chttp2/stream_map.c \
+    src/core/lib/transport/chttp2/timeout_encoding.c \
+    src/core/lib/transport/chttp2/varint.c \
+    src/core/lib/transport/chttp2/writing.c \
+    src/core/lib/transport/chttp2_transport.c \
+    src/core/lib/transport/connectivity_state.c \
+    src/core/lib/transport/metadata.c \
+    src/core/lib/transport/metadata_batch.c \
+    src/core/lib/transport/static_metadata.c \
+    src/core/lib/transport/transport.c \
+    src/core/lib/transport/transport_op_string.c \
+    src/core/lib/http/httpcli_security_connector.c \
+    src/core/lib/security/b64.c \
+    src/core/lib/security/client_auth_filter.c \
+    src/core/lib/security/credentials.c \
+    src/core/lib/security/credentials_metadata.c \
+    src/core/lib/security/credentials_posix.c \
+    src/core/lib/security/credentials_win32.c \
+    src/core/lib/security/google_default_credentials.c \
+    src/core/lib/security/handshake.c \
+    src/core/lib/security/json_token.c \
+    src/core/lib/security/jwt_verifier.c \
+    src/core/lib/security/secure_endpoint.c \
+    src/core/lib/security/security_connector.c \
+    src/core/lib/security/security_context.c \
+    src/core/lib/security/server_auth_filter.c \
+    src/core/lib/security/server_secure_chttp2.c \
+    src/core/lib/surface/init_secure.c \
+    src/core/lib/surface/secure_channel_create.c \
+    src/core/lib/tsi/fake_transport_security.c \
+    src/core/lib/tsi/ssl_transport_security.c \
+    src/core/lib/tsi/transport_security.c \
+    src/core/lib/census/context.c \
+    src/core/lib/census/initialize.c \
+    src/core/lib/census/mlog.c \
+    src/core/lib/census/operation.c \
+    src/core/lib/census/placeholders.c \
+    src/core/lib/census/tracing.c \
     third_party/nanopb/pb_common.c \
     third_party/nanopb/pb_decode.c \
     third_party/nanopb/pb_encode.c \
@@ -2780,147 +2780,147 @@
 
 
 LIBGRPC_UNSECURE_SRC = \
-    src/core/surface/init_unsecure.c \
-    src/core/census/grpc_context.c \
-    src/core/census/grpc_filter.c \
-    src/core/census/grpc_plugin.c \
-    src/core/channel/channel_args.c \
-    src/core/channel/channel_stack.c \
-    src/core/channel/channel_stack_builder.c \
-    src/core/channel/client_channel.c \
-    src/core/channel/compress_filter.c \
-    src/core/channel/connected_channel.c \
-    src/core/channel/http_client_filter.c \
-    src/core/channel/http_server_filter.c \
-    src/core/channel/subchannel_call_holder.c \
-    src/core/client_config/client_config.c \
-    src/core/client_config/connector.c \
-    src/core/client_config/default_initial_connect_string.c \
-    src/core/client_config/initial_connect_string.c \
-    src/core/client_config/lb_policies/load_balancer_api.c \
-    src/core/client_config/lb_policies/pick_first.c \
-    src/core/client_config/lb_policies/round_robin.c \
-    src/core/client_config/lb_policy.c \
-    src/core/client_config/lb_policy_factory.c \
-    src/core/client_config/lb_policy_registry.c \
-    src/core/client_config/resolver.c \
-    src/core/client_config/resolver_factory.c \
-    src/core/client_config/resolver_registry.c \
-    src/core/client_config/resolvers/dns_resolver.c \
-    src/core/client_config/resolvers/sockaddr_resolver.c \
-    src/core/client_config/subchannel.c \
-    src/core/client_config/subchannel_factory.c \
-    src/core/client_config/subchannel_index.c \
-    src/core/client_config/uri_parser.c \
-    src/core/compression/compression_algorithm.c \
-    src/core/compression/message_compress.c \
-    src/core/debug/trace.c \
-    src/core/http/format_request.c \
-    src/core/http/httpcli.c \
-    src/core/http/parser.c \
-    src/core/iomgr/closure.c \
-    src/core/iomgr/endpoint.c \
-    src/core/iomgr/endpoint_pair_posix.c \
-    src/core/iomgr/endpoint_pair_windows.c \
-    src/core/iomgr/exec_ctx.c \
-    src/core/iomgr/executor.c \
-    src/core/iomgr/fd_posix.c \
-    src/core/iomgr/iocp_windows.c \
-    src/core/iomgr/iomgr.c \
-    src/core/iomgr/iomgr_posix.c \
-    src/core/iomgr/iomgr_windows.c \
-    src/core/iomgr/pollset_multipoller_with_epoll.c \
-    src/core/iomgr/pollset_multipoller_with_poll_posix.c \
-    src/core/iomgr/pollset_posix.c \
-    src/core/iomgr/pollset_set_posix.c \
-    src/core/iomgr/pollset_set_windows.c \
-    src/core/iomgr/pollset_windows.c \
-    src/core/iomgr/resolve_address_posix.c \
-    src/core/iomgr/resolve_address_windows.c \
-    src/core/iomgr/sockaddr_utils.c \
-    src/core/iomgr/socket_utils_common_posix.c \
-    src/core/iomgr/socket_utils_linux.c \
-    src/core/iomgr/socket_utils_posix.c \
-    src/core/iomgr/socket_windows.c \
-    src/core/iomgr/tcp_client_posix.c \
-    src/core/iomgr/tcp_client_windows.c \
-    src/core/iomgr/tcp_posix.c \
-    src/core/iomgr/tcp_server_posix.c \
-    src/core/iomgr/tcp_server_windows.c \
-    src/core/iomgr/tcp_windows.c \
-    src/core/iomgr/time_averaged_stats.c \
-    src/core/iomgr/timer.c \
-    src/core/iomgr/timer_heap.c \
-    src/core/iomgr/udp_server.c \
-    src/core/iomgr/unix_sockets_posix.c \
-    src/core/iomgr/unix_sockets_posix_noop.c \
-    src/core/iomgr/wakeup_fd_eventfd.c \
-    src/core/iomgr/wakeup_fd_nospecial.c \
-    src/core/iomgr/wakeup_fd_pipe.c \
-    src/core/iomgr/wakeup_fd_posix.c \
-    src/core/iomgr/workqueue_posix.c \
-    src/core/iomgr/workqueue_windows.c \
-    src/core/json/json.c \
-    src/core/json/json_reader.c \
-    src/core/json/json_string.c \
-    src/core/json/json_writer.c \
-    src/core/proto/grpc/lb/v0/load_balancer.pb.c \
-    src/core/surface/alarm.c \
-    src/core/surface/api_trace.c \
-    src/core/surface/byte_buffer.c \
-    src/core/surface/byte_buffer_reader.c \
-    src/core/surface/call.c \
-    src/core/surface/call_details.c \
-    src/core/surface/call_log_batch.c \
-    src/core/surface/channel.c \
-    src/core/surface/channel_connectivity.c \
-    src/core/surface/channel_create.c \
-    src/core/surface/channel_init.c \
-    src/core/surface/channel_ping.c \
-    src/core/surface/channel_stack_type.c \
-    src/core/surface/completion_queue.c \
-    src/core/surface/event_string.c \
-    src/core/surface/init.c \
-    src/core/surface/lame_client.c \
-    src/core/surface/metadata_array.c \
-    src/core/surface/server.c \
-    src/core/surface/server_chttp2.c \
-    src/core/surface/validate_metadata.c \
-    src/core/surface/version.c \
-    src/core/transport/byte_stream.c \
-    src/core/transport/chttp2/alpn.c \
-    src/core/transport/chttp2/bin_encoder.c \
-    src/core/transport/chttp2/frame_data.c \
-    src/core/transport/chttp2/frame_goaway.c \
-    src/core/transport/chttp2/frame_ping.c \
-    src/core/transport/chttp2/frame_rst_stream.c \
-    src/core/transport/chttp2/frame_settings.c \
-    src/core/transport/chttp2/frame_window_update.c \
-    src/core/transport/chttp2/hpack_encoder.c \
-    src/core/transport/chttp2/hpack_parser.c \
-    src/core/transport/chttp2/hpack_table.c \
-    src/core/transport/chttp2/huffsyms.c \
-    src/core/transport/chttp2/incoming_metadata.c \
-    src/core/transport/chttp2/parsing.c \
-    src/core/transport/chttp2/status_conversion.c \
-    src/core/transport/chttp2/stream_lists.c \
-    src/core/transport/chttp2/stream_map.c \
-    src/core/transport/chttp2/timeout_encoding.c \
-    src/core/transport/chttp2/varint.c \
-    src/core/transport/chttp2/writing.c \
-    src/core/transport/chttp2_transport.c \
-    src/core/transport/connectivity_state.c \
-    src/core/transport/metadata.c \
-    src/core/transport/metadata_batch.c \
-    src/core/transport/static_metadata.c \
-    src/core/transport/transport.c \
-    src/core/transport/transport_op_string.c \
-    src/core/census/context.c \
-    src/core/census/initialize.c \
-    src/core/census/mlog.c \
-    src/core/census/operation.c \
-    src/core/census/placeholders.c \
-    src/core/census/tracing.c \
+    src/core/lib/surface/init_unsecure.c \
+    src/core/lib/census/grpc_context.c \
+    src/core/lib/census/grpc_filter.c \
+    src/core/lib/census/grpc_plugin.c \
+    src/core/lib/channel/channel_args.c \
+    src/core/lib/channel/channel_stack.c \
+    src/core/lib/channel/channel_stack_builder.c \
+    src/core/lib/channel/client_channel.c \
+    src/core/lib/channel/compress_filter.c \
+    src/core/lib/channel/connected_channel.c \
+    src/core/lib/channel/http_client_filter.c \
+    src/core/lib/channel/http_server_filter.c \
+    src/core/lib/channel/subchannel_call_holder.c \
+    src/core/lib/client_config/client_config.c \
+    src/core/lib/client_config/connector.c \
+    src/core/lib/client_config/default_initial_connect_string.c \
+    src/core/lib/client_config/initial_connect_string.c \
+    src/core/lib/client_config/lb_policies/load_balancer_api.c \
+    src/core/lib/client_config/lb_policies/pick_first.c \
+    src/core/lib/client_config/lb_policies/round_robin.c \
+    src/core/lib/client_config/lb_policy.c \
+    src/core/lib/client_config/lb_policy_factory.c \
+    src/core/lib/client_config/lb_policy_registry.c \
+    src/core/lib/client_config/resolver.c \
+    src/core/lib/client_config/resolver_factory.c \
+    src/core/lib/client_config/resolver_registry.c \
+    src/core/lib/client_config/resolvers/dns_resolver.c \
+    src/core/lib/client_config/resolvers/sockaddr_resolver.c \
+    src/core/lib/client_config/subchannel.c \
+    src/core/lib/client_config/subchannel_factory.c \
+    src/core/lib/client_config/subchannel_index.c \
+    src/core/lib/client_config/uri_parser.c \
+    src/core/lib/compression/compression_algorithm.c \
+    src/core/lib/compression/message_compress.c \
+    src/core/lib/debug/trace.c \
+    src/core/lib/http/format_request.c \
+    src/core/lib/http/httpcli.c \
+    src/core/lib/http/parser.c \
+    src/core/lib/iomgr/closure.c \
+    src/core/lib/iomgr/endpoint.c \
+    src/core/lib/iomgr/endpoint_pair_posix.c \
+    src/core/lib/iomgr/endpoint_pair_windows.c \
+    src/core/lib/iomgr/exec_ctx.c \
+    src/core/lib/iomgr/executor.c \
+    src/core/lib/iomgr/fd_posix.c \
+    src/core/lib/iomgr/iocp_windows.c \
+    src/core/lib/iomgr/iomgr.c \
+    src/core/lib/iomgr/iomgr_posix.c \
+    src/core/lib/iomgr/iomgr_windows.c \
+    src/core/lib/iomgr/pollset_multipoller_with_epoll.c \
+    src/core/lib/iomgr/pollset_multipoller_with_poll_posix.c \
+    src/core/lib/iomgr/pollset_posix.c \
+    src/core/lib/iomgr/pollset_set_posix.c \
+    src/core/lib/iomgr/pollset_set_windows.c \
+    src/core/lib/iomgr/pollset_windows.c \
+    src/core/lib/iomgr/resolve_address_posix.c \
+    src/core/lib/iomgr/resolve_address_windows.c \
+    src/core/lib/iomgr/sockaddr_utils.c \
+    src/core/lib/iomgr/socket_utils_common_posix.c \
+    src/core/lib/iomgr/socket_utils_linux.c \
+    src/core/lib/iomgr/socket_utils_posix.c \
+    src/core/lib/iomgr/socket_windows.c \
+    src/core/lib/iomgr/tcp_client_posix.c \
+    src/core/lib/iomgr/tcp_client_windows.c \
+    src/core/lib/iomgr/tcp_posix.c \
+    src/core/lib/iomgr/tcp_server_posix.c \
+    src/core/lib/iomgr/tcp_server_windows.c \
+    src/core/lib/iomgr/tcp_windows.c \
+    src/core/lib/iomgr/time_averaged_stats.c \
+    src/core/lib/iomgr/timer.c \
+    src/core/lib/iomgr/timer_heap.c \
+    src/core/lib/iomgr/udp_server.c \
+    src/core/lib/iomgr/unix_sockets_posix.c \
+    src/core/lib/iomgr/unix_sockets_posix_noop.c \
+    src/core/lib/iomgr/wakeup_fd_eventfd.c \
+    src/core/lib/iomgr/wakeup_fd_nospecial.c \
+    src/core/lib/iomgr/wakeup_fd_pipe.c \
+    src/core/lib/iomgr/wakeup_fd_posix.c \
+    src/core/lib/iomgr/workqueue_posix.c \
+    src/core/lib/iomgr/workqueue_windows.c \
+    src/core/lib/json/json.c \
+    src/core/lib/json/json_reader.c \
+    src/core/lib/json/json_string.c \
+    src/core/lib/json/json_writer.c \
+    src/core/lib/proto/grpc/lb/v0/load_balancer.pb.c \
+    src/core/lib/surface/alarm.c \
+    src/core/lib/surface/api_trace.c \
+    src/core/lib/surface/byte_buffer.c \
+    src/core/lib/surface/byte_buffer_reader.c \
+    src/core/lib/surface/call.c \
+    src/core/lib/surface/call_details.c \
+    src/core/lib/surface/call_log_batch.c \
+    src/core/lib/surface/channel.c \
+    src/core/lib/surface/channel_connectivity.c \
+    src/core/lib/surface/channel_create.c \
+    src/core/lib/surface/channel_init.c \
+    src/core/lib/surface/channel_ping.c \
+    src/core/lib/surface/channel_stack_type.c \
+    src/core/lib/surface/completion_queue.c \
+    src/core/lib/surface/event_string.c \
+    src/core/lib/surface/init.c \
+    src/core/lib/surface/lame_client.c \
+    src/core/lib/surface/metadata_array.c \
+    src/core/lib/surface/server.c \
+    src/core/lib/surface/server_chttp2.c \
+    src/core/lib/surface/validate_metadata.c \
+    src/core/lib/surface/version.c \
+    src/core/lib/transport/byte_stream.c \
+    src/core/lib/transport/chttp2/alpn.c \
+    src/core/lib/transport/chttp2/bin_encoder.c \
+    src/core/lib/transport/chttp2/frame_data.c \
+    src/core/lib/transport/chttp2/frame_goaway.c \
+    src/core/lib/transport/chttp2/frame_ping.c \
+    src/core/lib/transport/chttp2/frame_rst_stream.c \
+    src/core/lib/transport/chttp2/frame_settings.c \
+    src/core/lib/transport/chttp2/frame_window_update.c \
+    src/core/lib/transport/chttp2/hpack_encoder.c \
+    src/core/lib/transport/chttp2/hpack_parser.c \
+    src/core/lib/transport/chttp2/hpack_table.c \
+    src/core/lib/transport/chttp2/huffsyms.c \
+    src/core/lib/transport/chttp2/incoming_metadata.c \
+    src/core/lib/transport/chttp2/parsing.c \
+    src/core/lib/transport/chttp2/status_conversion.c \
+    src/core/lib/transport/chttp2/stream_lists.c \
+    src/core/lib/transport/chttp2/stream_map.c \
+    src/core/lib/transport/chttp2/timeout_encoding.c \
+    src/core/lib/transport/chttp2/varint.c \
+    src/core/lib/transport/chttp2/writing.c \
+    src/core/lib/transport/chttp2_transport.c \
+    src/core/lib/transport/connectivity_state.c \
+    src/core/lib/transport/metadata.c \
+    src/core/lib/transport/metadata_batch.c \
+    src/core/lib/transport/static_metadata.c \
+    src/core/lib/transport/transport.c \
+    src/core/lib/transport/transport_op_string.c \
+    src/core/lib/census/context.c \
+    src/core/lib/census/initialize.c \
+    src/core/lib/census/mlog.c \
+    src/core/lib/census/operation.c \
+    src/core/lib/census/placeholders.c \
+    src/core/lib/census/tracing.c \
     third_party/nanopb/pb_common.c \
     third_party/nanopb/pb_decode.c \
     third_party/nanopb/pb_encode.c \
@@ -2977,7 +2977,7 @@
 
 
 LIBGRPC_ZOOKEEPER_SRC = \
-    src/core/client_config/resolvers/zookeeper_resolver.c \
+    src/core/lib/client_config/resolvers/zookeeper_resolver.c \
 
 PUBLIC_HEADERS_C += \
     include/grpc/grpc_zookeeper.h \
@@ -13416,27 +13416,27 @@
 # This is to ensure the embedded OpenSSL is built beforehand, properly
 # installing headers to their final destination on the drive. We need this
 # otherwise parallel compilation will fail if a source is compiled first.
-src/core/http/httpcli_security_connector.c: $(OPENSSL_DEP)
-src/core/security/b64.c: $(OPENSSL_DEP)
-src/core/security/client_auth_filter.c: $(OPENSSL_DEP)
-src/core/security/credentials.c: $(OPENSSL_DEP)
-src/core/security/credentials_metadata.c: $(OPENSSL_DEP)
-src/core/security/credentials_posix.c: $(OPENSSL_DEP)
-src/core/security/credentials_win32.c: $(OPENSSL_DEP)
-src/core/security/google_default_credentials.c: $(OPENSSL_DEP)
-src/core/security/handshake.c: $(OPENSSL_DEP)
-src/core/security/json_token.c: $(OPENSSL_DEP)
-src/core/security/jwt_verifier.c: $(OPENSSL_DEP)
-src/core/security/secure_endpoint.c: $(OPENSSL_DEP)
-src/core/security/security_connector.c: $(OPENSSL_DEP)
-src/core/security/security_context.c: $(OPENSSL_DEP)
-src/core/security/server_auth_filter.c: $(OPENSSL_DEP)
-src/core/security/server_secure_chttp2.c: $(OPENSSL_DEP)
-src/core/surface/init_secure.c: $(OPENSSL_DEP)
-src/core/surface/secure_channel_create.c: $(OPENSSL_DEP)
-src/core/tsi/fake_transport_security.c: $(OPENSSL_DEP)
-src/core/tsi/ssl_transport_security.c: $(OPENSSL_DEP)
-src/core/tsi/transport_security.c: $(OPENSSL_DEP)
+src/core/lib/http/httpcli_security_connector.c: $(OPENSSL_DEP)
+src/core/lib/security/b64.c: $(OPENSSL_DEP)
+src/core/lib/security/client_auth_filter.c: $(OPENSSL_DEP)
+src/core/lib/security/credentials.c: $(OPENSSL_DEP)
+src/core/lib/security/credentials_metadata.c: $(OPENSSL_DEP)
+src/core/lib/security/credentials_posix.c: $(OPENSSL_DEP)
+src/core/lib/security/credentials_win32.c: $(OPENSSL_DEP)
+src/core/lib/security/google_default_credentials.c: $(OPENSSL_DEP)
+src/core/lib/security/handshake.c: $(OPENSSL_DEP)
+src/core/lib/security/json_token.c: $(OPENSSL_DEP)
+src/core/lib/security/jwt_verifier.c: $(OPENSSL_DEP)
+src/core/lib/security/secure_endpoint.c: $(OPENSSL_DEP)
+src/core/lib/security/security_connector.c: $(OPENSSL_DEP)
+src/core/lib/security/security_context.c: $(OPENSSL_DEP)
+src/core/lib/security/server_auth_filter.c: $(OPENSSL_DEP)
+src/core/lib/security/server_secure_chttp2.c: $(OPENSSL_DEP)
+src/core/lib/surface/init_secure.c: $(OPENSSL_DEP)
+src/core/lib/surface/secure_channel_create.c: $(OPENSSL_DEP)
+src/core/lib/tsi/fake_transport_security.c: $(OPENSSL_DEP)
+src/core/lib/tsi/ssl_transport_security.c: $(OPENSSL_DEP)
+src/core/lib/tsi/transport_security.c: $(OPENSSL_DEP)
 src/cpp/client/secure_credentials.cc: $(OPENSSL_DEP)
 src/cpp/common/auth_property_iterator.cc: $(OPENSSL_DEP)
 src/cpp/common/secure_auth_context.cc: $(OPENSSL_DEP)
diff --git a/binding.gyp b/binding.gyp
index 2ee383a..416ce20 100644
--- a/binding.gyp
+++ b/binding.gyp
@@ -492,50 +492,50 @@
       'dependencies': [
       ],
       'sources': [
-        'src/core/profiling/basic_timers.c',
-        'src/core/profiling/stap_timers.c',
-        'src/core/support/alloc.c',
-        'src/core/support/avl.c',
-        'src/core/support/backoff.c',
-        'src/core/support/cmdline.c',
-        'src/core/support/cpu_iphone.c',
-        'src/core/support/cpu_linux.c',
-        'src/core/support/cpu_posix.c',
-        'src/core/support/cpu_windows.c',
-        'src/core/support/env_linux.c',
-        'src/core/support/env_posix.c',
-        'src/core/support/env_win32.c',
-        'src/core/support/histogram.c',
-        'src/core/support/host_port.c',
-        'src/core/support/load_file.c',
-        'src/core/support/log.c',
-        'src/core/support/log_android.c',
-        'src/core/support/log_linux.c',
-        'src/core/support/log_posix.c',
-        'src/core/support/log_win32.c',
-        'src/core/support/murmur_hash.c',
-        'src/core/support/slice.c',
-        'src/core/support/slice_buffer.c',
-        'src/core/support/stack_lockfree.c',
-        'src/core/support/string.c',
-        'src/core/support/string_posix.c',
-        'src/core/support/string_win32.c',
-        'src/core/support/subprocess_posix.c',
-        'src/core/support/subprocess_windows.c',
-        'src/core/support/sync.c',
-        'src/core/support/sync_posix.c',
-        'src/core/support/sync_win32.c',
-        'src/core/support/thd.c',
-        'src/core/support/thd_posix.c',
-        'src/core/support/thd_win32.c',
-        'src/core/support/time.c',
-        'src/core/support/time_posix.c',
-        'src/core/support/time_precise.c',
-        'src/core/support/time_win32.c',
-        'src/core/support/tls_pthread.c',
-        'src/core/support/tmpfile_posix.c',
-        'src/core/support/tmpfile_win32.c',
-        'src/core/support/wrap_memcpy.c',
+        'src/core/lib/profiling/basic_timers.c',
+        'src/core/lib/profiling/stap_timers.c',
+        'src/core/lib/support/alloc.c',
+        'src/core/lib/support/avl.c',
+        'src/core/lib/support/backoff.c',
+        'src/core/lib/support/cmdline.c',
+        'src/core/lib/support/cpu_iphone.c',
+        'src/core/lib/support/cpu_linux.c',
+        'src/core/lib/support/cpu_posix.c',
+        'src/core/lib/support/cpu_windows.c',
+        'src/core/lib/support/env_linux.c',
+        'src/core/lib/support/env_posix.c',
+        'src/core/lib/support/env_win32.c',
+        'src/core/lib/support/histogram.c',
+        'src/core/lib/support/host_port.c',
+        'src/core/lib/support/load_file.c',
+        'src/core/lib/support/log.c',
+        'src/core/lib/support/log_android.c',
+        'src/core/lib/support/log_linux.c',
+        'src/core/lib/support/log_posix.c',
+        'src/core/lib/support/log_win32.c',
+        'src/core/lib/support/murmur_hash.c',
+        'src/core/lib/support/slice.c',
+        'src/core/lib/support/slice_buffer.c',
+        'src/core/lib/support/stack_lockfree.c',
+        'src/core/lib/support/string.c',
+        'src/core/lib/support/string_posix.c',
+        'src/core/lib/support/string_win32.c',
+        'src/core/lib/support/subprocess_posix.c',
+        'src/core/lib/support/subprocess_windows.c',
+        'src/core/lib/support/sync.c',
+        'src/core/lib/support/sync_posix.c',
+        'src/core/lib/support/sync_win32.c',
+        'src/core/lib/support/thd.c',
+        'src/core/lib/support/thd_posix.c',
+        'src/core/lib/support/thd_win32.c',
+        'src/core/lib/support/time.c',
+        'src/core/lib/support/time_posix.c',
+        'src/core/lib/support/time_precise.c',
+        'src/core/lib/support/time_win32.c',
+        'src/core/lib/support/tls_pthread.c',
+        'src/core/lib/support/tmpfile_posix.c',
+        'src/core/lib/support/tmpfile_win32.c',
+        'src/core/lib/support/wrap_memcpy.c',
       ],
       "conditions": [
         ['OS == "mac"', {
@@ -558,167 +558,167 @@
         'gpr',
       ],
       'sources': [
-        'src/core/census/grpc_context.c',
-        'src/core/census/grpc_filter.c',
-        'src/core/census/grpc_plugin.c',
-        'src/core/channel/channel_args.c',
-        'src/core/channel/channel_stack.c',
-        'src/core/channel/channel_stack_builder.c',
-        'src/core/channel/client_channel.c',
-        'src/core/channel/compress_filter.c',
-        'src/core/channel/connected_channel.c',
-        'src/core/channel/http_client_filter.c',
-        'src/core/channel/http_server_filter.c',
-        'src/core/channel/subchannel_call_holder.c',
-        'src/core/client_config/client_config.c',
-        'src/core/client_config/connector.c',
-        'src/core/client_config/default_initial_connect_string.c',
-        'src/core/client_config/initial_connect_string.c',
-        'src/core/client_config/lb_policies/load_balancer_api.c',
-        'src/core/client_config/lb_policies/pick_first.c',
-        'src/core/client_config/lb_policies/round_robin.c',
-        'src/core/client_config/lb_policy.c',
-        'src/core/client_config/lb_policy_factory.c',
-        'src/core/client_config/lb_policy_registry.c',
-        'src/core/client_config/resolver.c',
-        'src/core/client_config/resolver_factory.c',
-        'src/core/client_config/resolver_registry.c',
-        'src/core/client_config/resolvers/dns_resolver.c',
-        'src/core/client_config/resolvers/sockaddr_resolver.c',
-        'src/core/client_config/subchannel.c',
-        'src/core/client_config/subchannel_factory.c',
-        'src/core/client_config/subchannel_index.c',
-        'src/core/client_config/uri_parser.c',
-        'src/core/compression/compression_algorithm.c',
-        'src/core/compression/message_compress.c',
-        'src/core/debug/trace.c',
-        'src/core/http/format_request.c',
-        'src/core/http/httpcli.c',
-        'src/core/http/parser.c',
-        'src/core/iomgr/closure.c',
-        'src/core/iomgr/endpoint.c',
-        'src/core/iomgr/endpoint_pair_posix.c',
-        'src/core/iomgr/endpoint_pair_windows.c',
-        'src/core/iomgr/exec_ctx.c',
-        'src/core/iomgr/executor.c',
-        'src/core/iomgr/fd_posix.c',
-        'src/core/iomgr/iocp_windows.c',
-        'src/core/iomgr/iomgr.c',
-        'src/core/iomgr/iomgr_posix.c',
-        'src/core/iomgr/iomgr_windows.c',
-        'src/core/iomgr/pollset_multipoller_with_epoll.c',
-        'src/core/iomgr/pollset_multipoller_with_poll_posix.c',
-        'src/core/iomgr/pollset_posix.c',
-        'src/core/iomgr/pollset_set_posix.c',
-        'src/core/iomgr/pollset_set_windows.c',
-        'src/core/iomgr/pollset_windows.c',
-        'src/core/iomgr/resolve_address_posix.c',
-        'src/core/iomgr/resolve_address_windows.c',
-        'src/core/iomgr/sockaddr_utils.c',
-        'src/core/iomgr/socket_utils_common_posix.c',
-        'src/core/iomgr/socket_utils_linux.c',
-        'src/core/iomgr/socket_utils_posix.c',
-        'src/core/iomgr/socket_windows.c',
-        'src/core/iomgr/tcp_client_posix.c',
-        'src/core/iomgr/tcp_client_windows.c',
-        'src/core/iomgr/tcp_posix.c',
-        'src/core/iomgr/tcp_server_posix.c',
-        'src/core/iomgr/tcp_server_windows.c',
-        'src/core/iomgr/tcp_windows.c',
-        'src/core/iomgr/time_averaged_stats.c',
-        'src/core/iomgr/timer.c',
-        'src/core/iomgr/timer_heap.c',
-        'src/core/iomgr/udp_server.c',
-        'src/core/iomgr/unix_sockets_posix.c',
-        'src/core/iomgr/unix_sockets_posix_noop.c',
-        'src/core/iomgr/wakeup_fd_eventfd.c',
-        'src/core/iomgr/wakeup_fd_nospecial.c',
-        'src/core/iomgr/wakeup_fd_pipe.c',
-        'src/core/iomgr/wakeup_fd_posix.c',
-        'src/core/iomgr/workqueue_posix.c',
-        'src/core/iomgr/workqueue_windows.c',
-        'src/core/json/json.c',
-        'src/core/json/json_reader.c',
-        'src/core/json/json_string.c',
-        'src/core/json/json_writer.c',
-        'src/core/proto/grpc/lb/v0/load_balancer.pb.c',
-        'src/core/surface/alarm.c',
-        'src/core/surface/api_trace.c',
-        'src/core/surface/byte_buffer.c',
-        'src/core/surface/byte_buffer_reader.c',
-        'src/core/surface/call.c',
-        'src/core/surface/call_details.c',
-        'src/core/surface/call_log_batch.c',
-        'src/core/surface/channel.c',
-        'src/core/surface/channel_connectivity.c',
-        'src/core/surface/channel_create.c',
-        'src/core/surface/channel_init.c',
-        'src/core/surface/channel_ping.c',
-        'src/core/surface/channel_stack_type.c',
-        'src/core/surface/completion_queue.c',
-        'src/core/surface/event_string.c',
-        'src/core/surface/init.c',
-        'src/core/surface/lame_client.c',
-        'src/core/surface/metadata_array.c',
-        'src/core/surface/server.c',
-        'src/core/surface/server_chttp2.c',
-        'src/core/surface/validate_metadata.c',
-        'src/core/surface/version.c',
-        'src/core/transport/byte_stream.c',
-        'src/core/transport/chttp2/alpn.c',
-        'src/core/transport/chttp2/bin_encoder.c',
-        'src/core/transport/chttp2/frame_data.c',
-        'src/core/transport/chttp2/frame_goaway.c',
-        'src/core/transport/chttp2/frame_ping.c',
-        'src/core/transport/chttp2/frame_rst_stream.c',
-        'src/core/transport/chttp2/frame_settings.c',
-        'src/core/transport/chttp2/frame_window_update.c',
-        'src/core/transport/chttp2/hpack_encoder.c',
-        'src/core/transport/chttp2/hpack_parser.c',
-        'src/core/transport/chttp2/hpack_table.c',
-        'src/core/transport/chttp2/huffsyms.c',
-        'src/core/transport/chttp2/incoming_metadata.c',
-        'src/core/transport/chttp2/parsing.c',
-        'src/core/transport/chttp2/status_conversion.c',
-        'src/core/transport/chttp2/stream_lists.c',
-        'src/core/transport/chttp2/stream_map.c',
-        'src/core/transport/chttp2/timeout_encoding.c',
-        'src/core/transport/chttp2/varint.c',
-        'src/core/transport/chttp2/writing.c',
-        'src/core/transport/chttp2_transport.c',
-        'src/core/transport/connectivity_state.c',
-        'src/core/transport/metadata.c',
-        'src/core/transport/metadata_batch.c',
-        'src/core/transport/static_metadata.c',
-        'src/core/transport/transport.c',
-        'src/core/transport/transport_op_string.c',
-        'src/core/http/httpcli_security_connector.c',
-        'src/core/security/b64.c',
-        'src/core/security/client_auth_filter.c',
-        'src/core/security/credentials.c',
-        'src/core/security/credentials_metadata.c',
-        'src/core/security/credentials_posix.c',
-        'src/core/security/credentials_win32.c',
-        'src/core/security/google_default_credentials.c',
-        'src/core/security/handshake.c',
-        'src/core/security/json_token.c',
-        'src/core/security/jwt_verifier.c',
-        'src/core/security/secure_endpoint.c',
-        'src/core/security/security_connector.c',
-        'src/core/security/security_context.c',
-        'src/core/security/server_auth_filter.c',
-        'src/core/security/server_secure_chttp2.c',
-        'src/core/surface/init_secure.c',
-        'src/core/surface/secure_channel_create.c',
-        'src/core/tsi/fake_transport_security.c',
-        'src/core/tsi/ssl_transport_security.c',
-        'src/core/tsi/transport_security.c',
-        'src/core/census/context.c',
-        'src/core/census/initialize.c',
-        'src/core/census/mlog.c',
-        'src/core/census/operation.c',
-        'src/core/census/placeholders.c',
-        'src/core/census/tracing.c',
+        'src/core/lib/census/grpc_context.c',
+        'src/core/lib/census/grpc_filter.c',
+        'src/core/lib/census/grpc_plugin.c',
+        'src/core/lib/channel/channel_args.c',
+        'src/core/lib/channel/channel_stack.c',
+        'src/core/lib/channel/channel_stack_builder.c',
+        'src/core/lib/channel/client_channel.c',
+        'src/core/lib/channel/compress_filter.c',
+        'src/core/lib/channel/connected_channel.c',
+        'src/core/lib/channel/http_client_filter.c',
+        'src/core/lib/channel/http_server_filter.c',
+        'src/core/lib/channel/subchannel_call_holder.c',
+        'src/core/lib/client_config/client_config.c',
+        'src/core/lib/client_config/connector.c',
+        'src/core/lib/client_config/default_initial_connect_string.c',
+        'src/core/lib/client_config/initial_connect_string.c',
+        'src/core/lib/client_config/lb_policies/load_balancer_api.c',
+        'src/core/lib/client_config/lb_policies/pick_first.c',
+        'src/core/lib/client_config/lb_policies/round_robin.c',
+        'src/core/lib/client_config/lb_policy.c',
+        'src/core/lib/client_config/lb_policy_factory.c',
+        'src/core/lib/client_config/lb_policy_registry.c',
+        'src/core/lib/client_config/resolver.c',
+        'src/core/lib/client_config/resolver_factory.c',
+        'src/core/lib/client_config/resolver_registry.c',
+        'src/core/lib/client_config/resolvers/dns_resolver.c',
+        'src/core/lib/client_config/resolvers/sockaddr_resolver.c',
+        'src/core/lib/client_config/subchannel.c',
+        'src/core/lib/client_config/subchannel_factory.c',
+        'src/core/lib/client_config/subchannel_index.c',
+        'src/core/lib/client_config/uri_parser.c',
+        'src/core/lib/compression/compression_algorithm.c',
+        'src/core/lib/compression/message_compress.c',
+        'src/core/lib/debug/trace.c',
+        'src/core/lib/http/format_request.c',
+        'src/core/lib/http/httpcli.c',
+        'src/core/lib/http/parser.c',
+        'src/core/lib/iomgr/closure.c',
+        'src/core/lib/iomgr/endpoint.c',
+        'src/core/lib/iomgr/endpoint_pair_posix.c',
+        'src/core/lib/iomgr/endpoint_pair_windows.c',
+        'src/core/lib/iomgr/exec_ctx.c',
+        'src/core/lib/iomgr/executor.c',
+        'src/core/lib/iomgr/fd_posix.c',
+        'src/core/lib/iomgr/iocp_windows.c',
+        'src/core/lib/iomgr/iomgr.c',
+        'src/core/lib/iomgr/iomgr_posix.c',
+        'src/core/lib/iomgr/iomgr_windows.c',
+        'src/core/lib/iomgr/pollset_multipoller_with_epoll.c',
+        'src/core/lib/iomgr/pollset_multipoller_with_poll_posix.c',
+        'src/core/lib/iomgr/pollset_posix.c',
+        'src/core/lib/iomgr/pollset_set_posix.c',
+        'src/core/lib/iomgr/pollset_set_windows.c',
+        'src/core/lib/iomgr/pollset_windows.c',
+        'src/core/lib/iomgr/resolve_address_posix.c',
+        'src/core/lib/iomgr/resolve_address_windows.c',
+        'src/core/lib/iomgr/sockaddr_utils.c',
+        'src/core/lib/iomgr/socket_utils_common_posix.c',
+        'src/core/lib/iomgr/socket_utils_linux.c',
+        'src/core/lib/iomgr/socket_utils_posix.c',
+        'src/core/lib/iomgr/socket_windows.c',
+        'src/core/lib/iomgr/tcp_client_posix.c',
+        'src/core/lib/iomgr/tcp_client_windows.c',
+        'src/core/lib/iomgr/tcp_posix.c',
+        'src/core/lib/iomgr/tcp_server_posix.c',
+        'src/core/lib/iomgr/tcp_server_windows.c',
+        'src/core/lib/iomgr/tcp_windows.c',
+        'src/core/lib/iomgr/time_averaged_stats.c',
+        'src/core/lib/iomgr/timer.c',
+        'src/core/lib/iomgr/timer_heap.c',
+        'src/core/lib/iomgr/udp_server.c',
+        'src/core/lib/iomgr/unix_sockets_posix.c',
+        'src/core/lib/iomgr/unix_sockets_posix_noop.c',
+        'src/core/lib/iomgr/wakeup_fd_eventfd.c',
+        'src/core/lib/iomgr/wakeup_fd_nospecial.c',
+        'src/core/lib/iomgr/wakeup_fd_pipe.c',
+        'src/core/lib/iomgr/wakeup_fd_posix.c',
+        'src/core/lib/iomgr/workqueue_posix.c',
+        'src/core/lib/iomgr/workqueue_windows.c',
+        'src/core/lib/json/json.c',
+        'src/core/lib/json/json_reader.c',
+        'src/core/lib/json/json_string.c',
+        'src/core/lib/json/json_writer.c',
+        'src/core/lib/proto/grpc/lb/v0/load_balancer.pb.c',
+        'src/core/lib/surface/alarm.c',
+        'src/core/lib/surface/api_trace.c',
+        'src/core/lib/surface/byte_buffer.c',
+        'src/core/lib/surface/byte_buffer_reader.c',
+        'src/core/lib/surface/call.c',
+        'src/core/lib/surface/call_details.c',
+        'src/core/lib/surface/call_log_batch.c',
+        'src/core/lib/surface/channel.c',
+        'src/core/lib/surface/channel_connectivity.c',
+        'src/core/lib/surface/channel_create.c',
+        'src/core/lib/surface/channel_init.c',
+        'src/core/lib/surface/channel_ping.c',
+        'src/core/lib/surface/channel_stack_type.c',
+        'src/core/lib/surface/completion_queue.c',
+        'src/core/lib/surface/event_string.c',
+        'src/core/lib/surface/init.c',
+        'src/core/lib/surface/lame_client.c',
+        'src/core/lib/surface/metadata_array.c',
+        'src/core/lib/surface/server.c',
+        'src/core/lib/surface/server_chttp2.c',
+        'src/core/lib/surface/validate_metadata.c',
+        'src/core/lib/surface/version.c',
+        'src/core/lib/transport/byte_stream.c',
+        'src/core/lib/transport/chttp2/alpn.c',
+        'src/core/lib/transport/chttp2/bin_encoder.c',
+        'src/core/lib/transport/chttp2/frame_data.c',
+        'src/core/lib/transport/chttp2/frame_goaway.c',
+        'src/core/lib/transport/chttp2/frame_ping.c',
+        'src/core/lib/transport/chttp2/frame_rst_stream.c',
+        'src/core/lib/transport/chttp2/frame_settings.c',
+        'src/core/lib/transport/chttp2/frame_window_update.c',
+        'src/core/lib/transport/chttp2/hpack_encoder.c',
+        'src/core/lib/transport/chttp2/hpack_parser.c',
+        'src/core/lib/transport/chttp2/hpack_table.c',
+        'src/core/lib/transport/chttp2/huffsyms.c',
+        'src/core/lib/transport/chttp2/incoming_metadata.c',
+        'src/core/lib/transport/chttp2/parsing.c',
+        'src/core/lib/transport/chttp2/status_conversion.c',
+        'src/core/lib/transport/chttp2/stream_lists.c',
+        'src/core/lib/transport/chttp2/stream_map.c',
+        'src/core/lib/transport/chttp2/timeout_encoding.c',
+        'src/core/lib/transport/chttp2/varint.c',
+        'src/core/lib/transport/chttp2/writing.c',
+        'src/core/lib/transport/chttp2_transport.c',
+        'src/core/lib/transport/connectivity_state.c',
+        'src/core/lib/transport/metadata.c',
+        'src/core/lib/transport/metadata_batch.c',
+        'src/core/lib/transport/static_metadata.c',
+        'src/core/lib/transport/transport.c',
+        'src/core/lib/transport/transport_op_string.c',
+        'src/core/lib/http/httpcli_security_connector.c',
+        'src/core/lib/security/b64.c',
+        'src/core/lib/security/client_auth_filter.c',
+        'src/core/lib/security/credentials.c',
+        'src/core/lib/security/credentials_metadata.c',
+        'src/core/lib/security/credentials_posix.c',
+        'src/core/lib/security/credentials_win32.c',
+        'src/core/lib/security/google_default_credentials.c',
+        'src/core/lib/security/handshake.c',
+        'src/core/lib/security/json_token.c',
+        'src/core/lib/security/jwt_verifier.c',
+        'src/core/lib/security/secure_endpoint.c',
+        'src/core/lib/security/security_connector.c',
+        'src/core/lib/security/security_context.c',
+        'src/core/lib/security/server_auth_filter.c',
+        'src/core/lib/security/server_secure_chttp2.c',
+        'src/core/lib/surface/init_secure.c',
+        'src/core/lib/surface/secure_channel_create.c',
+        'src/core/lib/tsi/fake_transport_security.c',
+        'src/core/lib/tsi/ssl_transport_security.c',
+        'src/core/lib/tsi/transport_security.c',
+        'src/core/lib/census/context.c',
+        'src/core/lib/census/initialize.c',
+        'src/core/lib/census/mlog.c',
+        'src/core/lib/census/operation.c',
+        'src/core/lib/census/placeholders.c',
+        'src/core/lib/census/tracing.c',
         'third_party/nanopb/pb_common.c',
         'third_party/nanopb/pb_decode.c',
         'third_party/nanopb/pb_encode.c',
diff --git a/build.yaml b/build.yaml
index fc170cc..0398bc2 100644
--- a/build.yaml
+++ b/build.yaml
@@ -13,16 +13,16 @@
   public_headers:
   - include/grpc/census.h
   headers:
-  - src/core/census/aggregation.h
-  - src/core/census/mlog.h
-  - src/core/census/rpc_metric_id.h
+  - src/core/lib/census/aggregation.h
+  - src/core/lib/census/mlog.h
+  - src/core/lib/census/rpc_metric_id.h
   src:
-  - src/core/census/context.c
-  - src/core/census/initialize.c
-  - src/core/census/mlog.c
-  - src/core/census/operation.c
-  - src/core/census/placeholders.c
-  - src/core/census/tracing.c
+  - src/core/lib/census/context.c
+  - src/core/lib/census/initialize.c
+  - src/core/lib/census/mlog.c
+  - src/core/lib/census/operation.c
+  - src/core/lib/census/placeholders.c
+  - src/core/lib/census/tracing.c
 - name: gpr
   public_headers:
   - include/grpc/support/alloc.h
@@ -54,63 +54,63 @@
   - include/grpc/support/tls_pthread.h
   - include/grpc/support/useful.h
   headers:
-  - src/core/profiling/timers.h
-  - src/core/support/backoff.h
-  - src/core/support/block_annotate.h
-  - src/core/support/env.h
-  - src/core/support/load_file.h
-  - src/core/support/murmur_hash.h
-  - src/core/support/stack_lockfree.h
-  - src/core/support/string.h
-  - src/core/support/string_win32.h
-  - src/core/support/thd_internal.h
-  - src/core/support/time_precise.h
-  - src/core/support/tmpfile.h
+  - src/core/lib/profiling/timers.h
+  - src/core/lib/support/backoff.h
+  - src/core/lib/support/block_annotate.h
+  - src/core/lib/support/env.h
+  - src/core/lib/support/load_file.h
+  - src/core/lib/support/murmur_hash.h
+  - src/core/lib/support/stack_lockfree.h
+  - src/core/lib/support/string.h
+  - src/core/lib/support/string_win32.h
+  - src/core/lib/support/thd_internal.h
+  - src/core/lib/support/time_precise.h
+  - src/core/lib/support/tmpfile.h
   src:
-  - src/core/profiling/basic_timers.c
-  - src/core/profiling/stap_timers.c
-  - src/core/support/alloc.c
-  - src/core/support/avl.c
-  - src/core/support/backoff.c
-  - src/core/support/cmdline.c
-  - src/core/support/cpu_iphone.c
-  - src/core/support/cpu_linux.c
-  - src/core/support/cpu_posix.c
-  - src/core/support/cpu_windows.c
-  - src/core/support/env_linux.c
-  - src/core/support/env_posix.c
-  - src/core/support/env_win32.c
-  - src/core/support/histogram.c
-  - src/core/support/host_port.c
-  - src/core/support/load_file.c
-  - src/core/support/log.c
-  - src/core/support/log_android.c
-  - src/core/support/log_linux.c
-  - src/core/support/log_posix.c
-  - src/core/support/log_win32.c
-  - src/core/support/murmur_hash.c
-  - src/core/support/slice.c
-  - src/core/support/slice_buffer.c
-  - src/core/support/stack_lockfree.c
-  - src/core/support/string.c
-  - src/core/support/string_posix.c
-  - src/core/support/string_win32.c
-  - src/core/support/subprocess_posix.c
-  - src/core/support/subprocess_windows.c
-  - src/core/support/sync.c
-  - src/core/support/sync_posix.c
-  - src/core/support/sync_win32.c
-  - src/core/support/thd.c
-  - src/core/support/thd_posix.c
-  - src/core/support/thd_win32.c
-  - src/core/support/time.c
-  - src/core/support/time_posix.c
-  - src/core/support/time_precise.c
-  - src/core/support/time_win32.c
-  - src/core/support/tls_pthread.c
-  - src/core/support/tmpfile_posix.c
-  - src/core/support/tmpfile_win32.c
-  - src/core/support/wrap_memcpy.c
+  - src/core/lib/profiling/basic_timers.c
+  - src/core/lib/profiling/stap_timers.c
+  - src/core/lib/support/alloc.c
+  - src/core/lib/support/avl.c
+  - src/core/lib/support/backoff.c
+  - src/core/lib/support/cmdline.c
+  - src/core/lib/support/cpu_iphone.c
+  - src/core/lib/support/cpu_linux.c
+  - src/core/lib/support/cpu_posix.c
+  - src/core/lib/support/cpu_windows.c
+  - src/core/lib/support/env_linux.c
+  - src/core/lib/support/env_posix.c
+  - src/core/lib/support/env_win32.c
+  - src/core/lib/support/histogram.c
+  - src/core/lib/support/host_port.c
+  - src/core/lib/support/load_file.c
+  - src/core/lib/support/log.c
+  - src/core/lib/support/log_android.c
+  - src/core/lib/support/log_linux.c
+  - src/core/lib/support/log_posix.c
+  - src/core/lib/support/log_win32.c
+  - src/core/lib/support/murmur_hash.c
+  - src/core/lib/support/slice.c
+  - src/core/lib/support/slice_buffer.c
+  - src/core/lib/support/stack_lockfree.c
+  - src/core/lib/support/string.c
+  - src/core/lib/support/string_posix.c
+  - src/core/lib/support/string_win32.c
+  - src/core/lib/support/subprocess_posix.c
+  - src/core/lib/support/subprocess_windows.c
+  - src/core/lib/support/sync.c
+  - src/core/lib/support/sync_posix.c
+  - src/core/lib/support/sync_win32.c
+  - src/core/lib/support/thd.c
+  - src/core/lib/support/thd_posix.c
+  - src/core/lib/support/thd_win32.c
+  - src/core/lib/support/time.c
+  - src/core/lib/support/time_posix.c
+  - src/core/lib/support/time_precise.c
+  - src/core/lib/support/time_win32.c
+  - src/core/lib/support/tls_pthread.c
+  - src/core/lib/support/tmpfile_posix.c
+  - src/core/lib/support/tmpfile_win32.c
+  - src/core/lib/support/wrap_memcpy.c
 - name: gpr_codegen
   public_headers:
   - include/grpc/impl/codegen/alloc.h
@@ -247,261 +247,261 @@
   - include/grpc/grpc.h
   - include/grpc/status.h
   headers:
-  - src/core/census/grpc_filter.h
-  - src/core/census/grpc_plugin.h
-  - src/core/channel/channel_args.h
-  - src/core/channel/channel_stack.h
-  - src/core/channel/channel_stack_builder.h
-  - src/core/channel/client_channel.h
-  - src/core/channel/compress_filter.h
-  - src/core/channel/connected_channel.h
-  - src/core/channel/context.h
-  - src/core/channel/http_client_filter.h
-  - src/core/channel/http_server_filter.h
-  - src/core/channel/subchannel_call_holder.h
-  - src/core/client_config/client_config.h
-  - src/core/client_config/connector.h
-  - src/core/client_config/initial_connect_string.h
-  - src/core/client_config/lb_policies/load_balancer_api.h
-  - src/core/client_config/lb_policies/pick_first.h
-  - src/core/client_config/lb_policies/round_robin.h
-  - src/core/client_config/lb_policy.h
-  - src/core/client_config/lb_policy_factory.h
-  - src/core/client_config/lb_policy_registry.h
-  - src/core/client_config/resolver.h
-  - src/core/client_config/resolver_factory.h
-  - src/core/client_config/resolver_registry.h
-  - src/core/client_config/resolvers/dns_resolver.h
-  - src/core/client_config/resolvers/sockaddr_resolver.h
-  - src/core/client_config/subchannel.h
-  - src/core/client_config/subchannel_factory.h
-  - src/core/client_config/subchannel_index.h
-  - src/core/client_config/uri_parser.h
-  - src/core/compression/algorithm_metadata.h
-  - src/core/compression/message_compress.h
-  - src/core/debug/trace.h
-  - src/core/http/format_request.h
-  - src/core/http/httpcli.h
-  - src/core/http/parser.h
-  - src/core/iomgr/closure.h
-  - src/core/iomgr/endpoint.h
-  - src/core/iomgr/endpoint_pair.h
-  - src/core/iomgr/exec_ctx.h
-  - src/core/iomgr/executor.h
-  - src/core/iomgr/fd_posix.h
-  - src/core/iomgr/iocp_windows.h
-  - src/core/iomgr/iomgr.h
-  - src/core/iomgr/iomgr_internal.h
-  - src/core/iomgr/iomgr_posix.h
-  - src/core/iomgr/pollset.h
-  - src/core/iomgr/pollset_posix.h
-  - src/core/iomgr/pollset_set.h
-  - src/core/iomgr/pollset_set_posix.h
-  - src/core/iomgr/pollset_set_windows.h
-  - src/core/iomgr/pollset_windows.h
-  - src/core/iomgr/resolve_address.h
-  - src/core/iomgr/sockaddr.h
-  - src/core/iomgr/sockaddr_posix.h
-  - src/core/iomgr/sockaddr_utils.h
-  - src/core/iomgr/sockaddr_win32.h
-  - src/core/iomgr/socket_utils_posix.h
-  - src/core/iomgr/socket_windows.h
-  - src/core/iomgr/tcp_client.h
-  - src/core/iomgr/tcp_posix.h
-  - src/core/iomgr/tcp_server.h
-  - src/core/iomgr/tcp_windows.h
-  - src/core/iomgr/time_averaged_stats.h
-  - src/core/iomgr/timer.h
-  - src/core/iomgr/timer_heap.h
-  - src/core/iomgr/udp_server.h
-  - src/core/iomgr/unix_sockets_posix.h
-  - src/core/iomgr/wakeup_fd_pipe.h
-  - src/core/iomgr/wakeup_fd_posix.h
-  - src/core/iomgr/workqueue.h
-  - src/core/iomgr/workqueue_posix.h
-  - src/core/iomgr/workqueue_windows.h
-  - src/core/json/json.h
-  - src/core/json/json_common.h
-  - src/core/json/json_reader.h
-  - src/core/json/json_writer.h
-  - src/core/proto/grpc/lb/v0/load_balancer.pb.h
-  - src/core/statistics/census_interface.h
-  - src/core/statistics/census_rpc_stats.h
-  - src/core/surface/api_trace.h
-  - src/core/surface/call.h
-  - src/core/surface/call_test_only.h
-  - src/core/surface/channel.h
-  - src/core/surface/channel_init.h
-  - src/core/surface/channel_stack_type.h
-  - src/core/surface/completion_queue.h
-  - src/core/surface/event_string.h
-  - src/core/surface/init.h
-  - src/core/surface/lame_client.h
-  - src/core/surface/server.h
-  - src/core/surface/surface_trace.h
-  - src/core/transport/byte_stream.h
-  - src/core/transport/chttp2/alpn.h
-  - src/core/transport/chttp2/bin_encoder.h
-  - src/core/transport/chttp2/frame.h
-  - src/core/transport/chttp2/frame_data.h
-  - src/core/transport/chttp2/frame_goaway.h
-  - src/core/transport/chttp2/frame_ping.h
-  - src/core/transport/chttp2/frame_rst_stream.h
-  - src/core/transport/chttp2/frame_settings.h
-  - src/core/transport/chttp2/frame_window_update.h
-  - src/core/transport/chttp2/hpack_encoder.h
-  - src/core/transport/chttp2/hpack_parser.h
-  - src/core/transport/chttp2/hpack_table.h
-  - src/core/transport/chttp2/http2_errors.h
-  - src/core/transport/chttp2/huffsyms.h
-  - src/core/transport/chttp2/incoming_metadata.h
-  - src/core/transport/chttp2/internal.h
-  - src/core/transport/chttp2/status_conversion.h
-  - src/core/transport/chttp2/stream_map.h
-  - src/core/transport/chttp2/timeout_encoding.h
-  - src/core/transport/chttp2/varint.h
-  - src/core/transport/chttp2_transport.h
-  - src/core/transport/connectivity_state.h
-  - src/core/transport/metadata.h
-  - src/core/transport/metadata_batch.h
-  - src/core/transport/static_metadata.h
-  - src/core/transport/transport.h
-  - src/core/transport/transport_impl.h
+  - src/core/lib/census/grpc_filter.h
+  - src/core/lib/census/grpc_plugin.h
+  - src/core/lib/channel/channel_args.h
+  - src/core/lib/channel/channel_stack.h
+  - src/core/lib/channel/channel_stack_builder.h
+  - src/core/lib/channel/client_channel.h
+  - src/core/lib/channel/compress_filter.h
+  - src/core/lib/channel/connected_channel.h
+  - src/core/lib/channel/context.h
+  - src/core/lib/channel/http_client_filter.h
+  - src/core/lib/channel/http_server_filter.h
+  - src/core/lib/channel/subchannel_call_holder.h
+  - src/core/lib/client_config/client_config.h
+  - src/core/lib/client_config/connector.h
+  - src/core/lib/client_config/initial_connect_string.h
+  - src/core/lib/client_config/lb_policies/load_balancer_api.h
+  - src/core/lib/client_config/lb_policies/pick_first.h
+  - src/core/lib/client_config/lb_policies/round_robin.h
+  - src/core/lib/client_config/lb_policy.h
+  - src/core/lib/client_config/lb_policy_factory.h
+  - src/core/lib/client_config/lb_policy_registry.h
+  - src/core/lib/client_config/resolver.h
+  - src/core/lib/client_config/resolver_factory.h
+  - src/core/lib/client_config/resolver_registry.h
+  - src/core/lib/client_config/resolvers/dns_resolver.h
+  - src/core/lib/client_config/resolvers/sockaddr_resolver.h
+  - src/core/lib/client_config/subchannel.h
+  - src/core/lib/client_config/subchannel_factory.h
+  - src/core/lib/client_config/subchannel_index.h
+  - src/core/lib/client_config/uri_parser.h
+  - src/core/lib/compression/algorithm_metadata.h
+  - src/core/lib/compression/message_compress.h
+  - src/core/lib/debug/trace.h
+  - src/core/lib/http/format_request.h
+  - src/core/lib/http/httpcli.h
+  - src/core/lib/http/parser.h
+  - src/core/lib/iomgr/closure.h
+  - src/core/lib/iomgr/endpoint.h
+  - src/core/lib/iomgr/endpoint_pair.h
+  - src/core/lib/iomgr/exec_ctx.h
+  - src/core/lib/iomgr/executor.h
+  - src/core/lib/iomgr/fd_posix.h
+  - src/core/lib/iomgr/iocp_windows.h
+  - src/core/lib/iomgr/iomgr.h
+  - src/core/lib/iomgr/iomgr_internal.h
+  - src/core/lib/iomgr/iomgr_posix.h
+  - src/core/lib/iomgr/pollset.h
+  - src/core/lib/iomgr/pollset_posix.h
+  - src/core/lib/iomgr/pollset_set.h
+  - src/core/lib/iomgr/pollset_set_posix.h
+  - src/core/lib/iomgr/pollset_set_windows.h
+  - src/core/lib/iomgr/pollset_windows.h
+  - src/core/lib/iomgr/resolve_address.h
+  - src/core/lib/iomgr/sockaddr.h
+  - src/core/lib/iomgr/sockaddr_posix.h
+  - src/core/lib/iomgr/sockaddr_utils.h
+  - src/core/lib/iomgr/sockaddr_win32.h
+  - src/core/lib/iomgr/socket_utils_posix.h
+  - src/core/lib/iomgr/socket_windows.h
+  - src/core/lib/iomgr/tcp_client.h
+  - src/core/lib/iomgr/tcp_posix.h
+  - src/core/lib/iomgr/tcp_server.h
+  - src/core/lib/iomgr/tcp_windows.h
+  - src/core/lib/iomgr/time_averaged_stats.h
+  - src/core/lib/iomgr/timer.h
+  - src/core/lib/iomgr/timer_heap.h
+  - src/core/lib/iomgr/udp_server.h
+  - src/core/lib/iomgr/unix_sockets_posix.h
+  - src/core/lib/iomgr/wakeup_fd_pipe.h
+  - src/core/lib/iomgr/wakeup_fd_posix.h
+  - src/core/lib/iomgr/workqueue.h
+  - src/core/lib/iomgr/workqueue_posix.h
+  - src/core/lib/iomgr/workqueue_windows.h
+  - src/core/lib/json/json.h
+  - src/core/lib/json/json_common.h
+  - src/core/lib/json/json_reader.h
+  - src/core/lib/json/json_writer.h
+  - src/core/lib/proto/grpc/lb/v0/load_balancer.pb.h
+  - src/core/lib/statistics/census_interface.h
+  - src/core/lib/statistics/census_rpc_stats.h
+  - src/core/lib/surface/api_trace.h
+  - src/core/lib/surface/call.h
+  - src/core/lib/surface/call_test_only.h
+  - src/core/lib/surface/channel.h
+  - src/core/lib/surface/channel_init.h
+  - src/core/lib/surface/channel_stack_type.h
+  - src/core/lib/surface/completion_queue.h
+  - src/core/lib/surface/event_string.h
+  - src/core/lib/surface/init.h
+  - src/core/lib/surface/lame_client.h
+  - src/core/lib/surface/server.h
+  - src/core/lib/surface/surface_trace.h
+  - src/core/lib/transport/byte_stream.h
+  - src/core/lib/transport/chttp2/alpn.h
+  - src/core/lib/transport/chttp2/bin_encoder.h
+  - src/core/lib/transport/chttp2/frame.h
+  - src/core/lib/transport/chttp2/frame_data.h
+  - src/core/lib/transport/chttp2/frame_goaway.h
+  - src/core/lib/transport/chttp2/frame_ping.h
+  - src/core/lib/transport/chttp2/frame_rst_stream.h
+  - src/core/lib/transport/chttp2/frame_settings.h
+  - src/core/lib/transport/chttp2/frame_window_update.h
+  - src/core/lib/transport/chttp2/hpack_encoder.h
+  - src/core/lib/transport/chttp2/hpack_parser.h
+  - src/core/lib/transport/chttp2/hpack_table.h
+  - src/core/lib/transport/chttp2/http2_errors.h
+  - src/core/lib/transport/chttp2/huffsyms.h
+  - src/core/lib/transport/chttp2/incoming_metadata.h
+  - src/core/lib/transport/chttp2/internal.h
+  - src/core/lib/transport/chttp2/status_conversion.h
+  - src/core/lib/transport/chttp2/stream_map.h
+  - src/core/lib/transport/chttp2/timeout_encoding.h
+  - src/core/lib/transport/chttp2/varint.h
+  - src/core/lib/transport/chttp2_transport.h
+  - src/core/lib/transport/connectivity_state.h
+  - src/core/lib/transport/metadata.h
+  - src/core/lib/transport/metadata_batch.h
+  - src/core/lib/transport/static_metadata.h
+  - src/core/lib/transport/transport.h
+  - src/core/lib/transport/transport_impl.h
   src:
-  - src/core/census/grpc_context.c
-  - src/core/census/grpc_filter.c
-  - src/core/census/grpc_plugin.c
-  - src/core/channel/channel_args.c
-  - src/core/channel/channel_stack.c
-  - src/core/channel/channel_stack_builder.c
-  - src/core/channel/client_channel.c
-  - src/core/channel/compress_filter.c
-  - src/core/channel/connected_channel.c
-  - src/core/channel/http_client_filter.c
-  - src/core/channel/http_server_filter.c
-  - src/core/channel/subchannel_call_holder.c
-  - src/core/client_config/client_config.c
-  - src/core/client_config/connector.c
-  - src/core/client_config/default_initial_connect_string.c
-  - src/core/client_config/initial_connect_string.c
-  - src/core/client_config/lb_policies/load_balancer_api.c
-  - src/core/client_config/lb_policies/pick_first.c
-  - src/core/client_config/lb_policies/round_robin.c
-  - src/core/client_config/lb_policy.c
-  - src/core/client_config/lb_policy_factory.c
-  - src/core/client_config/lb_policy_registry.c
-  - src/core/client_config/resolver.c
-  - src/core/client_config/resolver_factory.c
-  - src/core/client_config/resolver_registry.c
-  - src/core/client_config/resolvers/dns_resolver.c
-  - src/core/client_config/resolvers/sockaddr_resolver.c
-  - src/core/client_config/subchannel.c
-  - src/core/client_config/subchannel_factory.c
-  - src/core/client_config/subchannel_index.c
-  - src/core/client_config/uri_parser.c
-  - src/core/compression/compression_algorithm.c
-  - src/core/compression/message_compress.c
-  - src/core/debug/trace.c
-  - src/core/http/format_request.c
-  - src/core/http/httpcli.c
-  - src/core/http/parser.c
-  - src/core/iomgr/closure.c
-  - src/core/iomgr/endpoint.c
-  - src/core/iomgr/endpoint_pair_posix.c
-  - src/core/iomgr/endpoint_pair_windows.c
-  - src/core/iomgr/exec_ctx.c
-  - src/core/iomgr/executor.c
-  - src/core/iomgr/fd_posix.c
-  - src/core/iomgr/iocp_windows.c
-  - src/core/iomgr/iomgr.c
-  - src/core/iomgr/iomgr_posix.c
-  - src/core/iomgr/iomgr_windows.c
-  - src/core/iomgr/pollset_multipoller_with_epoll.c
-  - src/core/iomgr/pollset_multipoller_with_poll_posix.c
-  - src/core/iomgr/pollset_posix.c
-  - src/core/iomgr/pollset_set_posix.c
-  - src/core/iomgr/pollset_set_windows.c
-  - src/core/iomgr/pollset_windows.c
-  - src/core/iomgr/resolve_address_posix.c
-  - src/core/iomgr/resolve_address_windows.c
-  - src/core/iomgr/sockaddr_utils.c
-  - src/core/iomgr/socket_utils_common_posix.c
-  - src/core/iomgr/socket_utils_linux.c
-  - src/core/iomgr/socket_utils_posix.c
-  - src/core/iomgr/socket_windows.c
-  - src/core/iomgr/tcp_client_posix.c
-  - src/core/iomgr/tcp_client_windows.c
-  - src/core/iomgr/tcp_posix.c
-  - src/core/iomgr/tcp_server_posix.c
-  - src/core/iomgr/tcp_server_windows.c
-  - src/core/iomgr/tcp_windows.c
-  - src/core/iomgr/time_averaged_stats.c
-  - src/core/iomgr/timer.c
-  - src/core/iomgr/timer_heap.c
-  - src/core/iomgr/udp_server.c
-  - src/core/iomgr/unix_sockets_posix.c
-  - src/core/iomgr/unix_sockets_posix_noop.c
-  - src/core/iomgr/wakeup_fd_eventfd.c
-  - src/core/iomgr/wakeup_fd_nospecial.c
-  - src/core/iomgr/wakeup_fd_pipe.c
-  - src/core/iomgr/wakeup_fd_posix.c
-  - src/core/iomgr/workqueue_posix.c
-  - src/core/iomgr/workqueue_windows.c
-  - src/core/json/json.c
-  - src/core/json/json_reader.c
-  - src/core/json/json_string.c
-  - src/core/json/json_writer.c
-  - src/core/proto/grpc/lb/v0/load_balancer.pb.c
-  - src/core/surface/alarm.c
-  - src/core/surface/api_trace.c
-  - src/core/surface/byte_buffer.c
-  - src/core/surface/byte_buffer_reader.c
-  - src/core/surface/call.c
-  - src/core/surface/call_details.c
-  - src/core/surface/call_log_batch.c
-  - src/core/surface/channel.c
-  - src/core/surface/channel_connectivity.c
-  - src/core/surface/channel_create.c
-  - src/core/surface/channel_init.c
-  - src/core/surface/channel_ping.c
-  - src/core/surface/channel_stack_type.c
-  - src/core/surface/completion_queue.c
-  - src/core/surface/event_string.c
-  - src/core/surface/init.c
-  - src/core/surface/lame_client.c
-  - src/core/surface/metadata_array.c
-  - src/core/surface/server.c
-  - src/core/surface/server_chttp2.c
-  - src/core/surface/validate_metadata.c
-  - src/core/surface/version.c
-  - src/core/transport/byte_stream.c
-  - src/core/transport/chttp2/alpn.c
-  - src/core/transport/chttp2/bin_encoder.c
-  - src/core/transport/chttp2/frame_data.c
-  - src/core/transport/chttp2/frame_goaway.c
-  - src/core/transport/chttp2/frame_ping.c
-  - src/core/transport/chttp2/frame_rst_stream.c
-  - src/core/transport/chttp2/frame_settings.c
-  - src/core/transport/chttp2/frame_window_update.c
-  - src/core/transport/chttp2/hpack_encoder.c
-  - src/core/transport/chttp2/hpack_parser.c
-  - src/core/transport/chttp2/hpack_table.c
-  - src/core/transport/chttp2/huffsyms.c
-  - src/core/transport/chttp2/incoming_metadata.c
-  - src/core/transport/chttp2/parsing.c
-  - src/core/transport/chttp2/status_conversion.c
-  - src/core/transport/chttp2/stream_lists.c
-  - src/core/transport/chttp2/stream_map.c
-  - src/core/transport/chttp2/timeout_encoding.c
-  - src/core/transport/chttp2/varint.c
-  - src/core/transport/chttp2/writing.c
-  - src/core/transport/chttp2_transport.c
-  - src/core/transport/connectivity_state.c
-  - src/core/transport/metadata.c
-  - src/core/transport/metadata_batch.c
-  - src/core/transport/static_metadata.c
-  - src/core/transport/transport.c
-  - src/core/transport/transport_op_string.c
+  - src/core/lib/census/grpc_context.c
+  - src/core/lib/census/grpc_filter.c
+  - src/core/lib/census/grpc_plugin.c
+  - src/core/lib/channel/channel_args.c
+  - src/core/lib/channel/channel_stack.c
+  - src/core/lib/channel/channel_stack_builder.c
+  - src/core/lib/channel/client_channel.c
+  - src/core/lib/channel/compress_filter.c
+  - src/core/lib/channel/connected_channel.c
+  - src/core/lib/channel/http_client_filter.c
+  - src/core/lib/channel/http_server_filter.c
+  - src/core/lib/channel/subchannel_call_holder.c
+  - src/core/lib/client_config/client_config.c
+  - src/core/lib/client_config/connector.c
+  - src/core/lib/client_config/default_initial_connect_string.c
+  - src/core/lib/client_config/initial_connect_string.c
+  - src/core/lib/client_config/lb_policies/load_balancer_api.c
+  - src/core/lib/client_config/lb_policies/pick_first.c
+  - src/core/lib/client_config/lb_policies/round_robin.c
+  - src/core/lib/client_config/lb_policy.c
+  - src/core/lib/client_config/lb_policy_factory.c
+  - src/core/lib/client_config/lb_policy_registry.c
+  - src/core/lib/client_config/resolver.c
+  - src/core/lib/client_config/resolver_factory.c
+  - src/core/lib/client_config/resolver_registry.c
+  - src/core/lib/client_config/resolvers/dns_resolver.c
+  - src/core/lib/client_config/resolvers/sockaddr_resolver.c
+  - src/core/lib/client_config/subchannel.c
+  - src/core/lib/client_config/subchannel_factory.c
+  - src/core/lib/client_config/subchannel_index.c
+  - src/core/lib/client_config/uri_parser.c
+  - src/core/lib/compression/compression_algorithm.c
+  - src/core/lib/compression/message_compress.c
+  - src/core/lib/debug/trace.c
+  - src/core/lib/http/format_request.c
+  - src/core/lib/http/httpcli.c
+  - src/core/lib/http/parser.c
+  - src/core/lib/iomgr/closure.c
+  - src/core/lib/iomgr/endpoint.c
+  - src/core/lib/iomgr/endpoint_pair_posix.c
+  - src/core/lib/iomgr/endpoint_pair_windows.c
+  - src/core/lib/iomgr/exec_ctx.c
+  - src/core/lib/iomgr/executor.c
+  - src/core/lib/iomgr/fd_posix.c
+  - src/core/lib/iomgr/iocp_windows.c
+  - src/core/lib/iomgr/iomgr.c
+  - src/core/lib/iomgr/iomgr_posix.c
+  - src/core/lib/iomgr/iomgr_windows.c
+  - src/core/lib/iomgr/pollset_multipoller_with_epoll.c
+  - src/core/lib/iomgr/pollset_multipoller_with_poll_posix.c
+  - src/core/lib/iomgr/pollset_posix.c
+  - src/core/lib/iomgr/pollset_set_posix.c
+  - src/core/lib/iomgr/pollset_set_windows.c
+  - src/core/lib/iomgr/pollset_windows.c
+  - src/core/lib/iomgr/resolve_address_posix.c
+  - src/core/lib/iomgr/resolve_address_windows.c
+  - src/core/lib/iomgr/sockaddr_utils.c
+  - src/core/lib/iomgr/socket_utils_common_posix.c
+  - src/core/lib/iomgr/socket_utils_linux.c
+  - src/core/lib/iomgr/socket_utils_posix.c
+  - src/core/lib/iomgr/socket_windows.c
+  - src/core/lib/iomgr/tcp_client_posix.c
+  - src/core/lib/iomgr/tcp_client_windows.c
+  - src/core/lib/iomgr/tcp_posix.c
+  - src/core/lib/iomgr/tcp_server_posix.c
+  - src/core/lib/iomgr/tcp_server_windows.c
+  - src/core/lib/iomgr/tcp_windows.c
+  - src/core/lib/iomgr/time_averaged_stats.c
+  - src/core/lib/iomgr/timer.c
+  - src/core/lib/iomgr/timer_heap.c
+  - src/core/lib/iomgr/udp_server.c
+  - src/core/lib/iomgr/unix_sockets_posix.c
+  - src/core/lib/iomgr/unix_sockets_posix_noop.c
+  - src/core/lib/iomgr/wakeup_fd_eventfd.c
+  - src/core/lib/iomgr/wakeup_fd_nospecial.c
+  - src/core/lib/iomgr/wakeup_fd_pipe.c
+  - src/core/lib/iomgr/wakeup_fd_posix.c
+  - src/core/lib/iomgr/workqueue_posix.c
+  - src/core/lib/iomgr/workqueue_windows.c
+  - src/core/lib/json/json.c
+  - src/core/lib/json/json_reader.c
+  - src/core/lib/json/json_string.c
+  - src/core/lib/json/json_writer.c
+  - src/core/lib/proto/grpc/lb/v0/load_balancer.pb.c
+  - src/core/lib/surface/alarm.c
+  - src/core/lib/surface/api_trace.c
+  - src/core/lib/surface/byte_buffer.c
+  - src/core/lib/surface/byte_buffer_reader.c
+  - src/core/lib/surface/call.c
+  - src/core/lib/surface/call_details.c
+  - src/core/lib/surface/call_log_batch.c
+  - src/core/lib/surface/channel.c
+  - src/core/lib/surface/channel_connectivity.c
+  - src/core/lib/surface/channel_create.c
+  - src/core/lib/surface/channel_init.c
+  - src/core/lib/surface/channel_ping.c
+  - src/core/lib/surface/channel_stack_type.c
+  - src/core/lib/surface/completion_queue.c
+  - src/core/lib/surface/event_string.c
+  - src/core/lib/surface/init.c
+  - src/core/lib/surface/lame_client.c
+  - src/core/lib/surface/metadata_array.c
+  - src/core/lib/surface/server.c
+  - src/core/lib/surface/server_chttp2.c
+  - src/core/lib/surface/validate_metadata.c
+  - src/core/lib/surface/version.c
+  - src/core/lib/transport/byte_stream.c
+  - src/core/lib/transport/chttp2/alpn.c
+  - src/core/lib/transport/chttp2/bin_encoder.c
+  - src/core/lib/transport/chttp2/frame_data.c
+  - src/core/lib/transport/chttp2/frame_goaway.c
+  - src/core/lib/transport/chttp2/frame_ping.c
+  - src/core/lib/transport/chttp2/frame_rst_stream.c
+  - src/core/lib/transport/chttp2/frame_settings.c
+  - src/core/lib/transport/chttp2/frame_window_update.c
+  - src/core/lib/transport/chttp2/hpack_encoder.c
+  - src/core/lib/transport/chttp2/hpack_parser.c
+  - src/core/lib/transport/chttp2/hpack_table.c
+  - src/core/lib/transport/chttp2/huffsyms.c
+  - src/core/lib/transport/chttp2/incoming_metadata.c
+  - src/core/lib/transport/chttp2/parsing.c
+  - src/core/lib/transport/chttp2/status_conversion.c
+  - src/core/lib/transport/chttp2/stream_lists.c
+  - src/core/lib/transport/chttp2/stream_map.c
+  - src/core/lib/transport/chttp2/timeout_encoding.c
+  - src/core/lib/transport/chttp2/varint.c
+  - src/core/lib/transport/chttp2/writing.c
+  - src/core/lib/transport/chttp2_transport.c
+  - src/core/lib/transport/connectivity_state.c
+  - src/core/lib/transport/metadata.c
+  - src/core/lib/transport/metadata_batch.c
+  - src/core/lib/transport/static_metadata.c
+  - src/core/lib/transport/transport.c
+  - src/core/lib/transport/transport_op_string.c
 - name: grpc_codegen
   public_headers:
   - include/grpc/impl/codegen/byte_buffer.h
@@ -512,42 +512,42 @@
   - include/grpc/impl/codegen/status.h
 - name: grpc_secure
   headers:
-  - src/core/security/auth_filters.h
-  - src/core/security/b64.h
-  - src/core/security/credentials.h
-  - src/core/security/handshake.h
-  - src/core/security/json_token.h
-  - src/core/security/jwt_verifier.h
-  - src/core/security/secure_endpoint.h
-  - src/core/security/security_connector.h
-  - src/core/security/security_context.h
-  - src/core/tsi/fake_transport_security.h
-  - src/core/tsi/ssl_transport_security.h
-  - src/core/tsi/ssl_types.h
-  - src/core/tsi/transport_security.h
-  - src/core/tsi/transport_security_interface.h
+  - src/core/lib/security/auth_filters.h
+  - src/core/lib/security/b64.h
+  - src/core/lib/security/credentials.h
+  - src/core/lib/security/handshake.h
+  - src/core/lib/security/json_token.h
+  - src/core/lib/security/jwt_verifier.h
+  - src/core/lib/security/secure_endpoint.h
+  - src/core/lib/security/security_connector.h
+  - src/core/lib/security/security_context.h
+  - src/core/lib/tsi/fake_transport_security.h
+  - src/core/lib/tsi/ssl_transport_security.h
+  - src/core/lib/tsi/ssl_types.h
+  - src/core/lib/tsi/transport_security.h
+  - src/core/lib/tsi/transport_security_interface.h
   src:
-  - src/core/http/httpcli_security_connector.c
-  - src/core/security/b64.c
-  - src/core/security/client_auth_filter.c
-  - src/core/security/credentials.c
-  - src/core/security/credentials_metadata.c
-  - src/core/security/credentials_posix.c
-  - src/core/security/credentials_win32.c
-  - src/core/security/google_default_credentials.c
-  - src/core/security/handshake.c
-  - src/core/security/json_token.c
-  - src/core/security/jwt_verifier.c
-  - src/core/security/secure_endpoint.c
-  - src/core/security/security_connector.c
-  - src/core/security/security_context.c
-  - src/core/security/server_auth_filter.c
-  - src/core/security/server_secure_chttp2.c
-  - src/core/surface/init_secure.c
-  - src/core/surface/secure_channel_create.c
-  - src/core/tsi/fake_transport_security.c
-  - src/core/tsi/ssl_transport_security.c
-  - src/core/tsi/transport_security.c
+  - src/core/lib/http/httpcli_security_connector.c
+  - src/core/lib/security/b64.c
+  - src/core/lib/security/client_auth_filter.c
+  - src/core/lib/security/credentials.c
+  - src/core/lib/security/credentials_metadata.c
+  - src/core/lib/security/credentials_posix.c
+  - src/core/lib/security/credentials_win32.c
+  - src/core/lib/security/google_default_credentials.c
+  - src/core/lib/security/handshake.c
+  - src/core/lib/security/json_token.c
+  - src/core/lib/security/jwt_verifier.c
+  - src/core/lib/security/secure_endpoint.c
+  - src/core/lib/security/security_connector.c
+  - src/core/lib/security/security_context.c
+  - src/core/lib/security/server_auth_filter.c
+  - src/core/lib/security/server_secure_chttp2.c
+  - src/core/lib/surface/init_secure.c
+  - src/core/lib/surface/secure_channel_create.c
+  - src/core/lib/tsi/fake_transport_security.c
+  - src/core/lib/tsi/ssl_transport_security.c
+  - src/core/lib/tsi/transport_security.c
 - name: grpc_test_util_base
   headers:
   - test/core/end2end/cq_verifier.h
@@ -683,7 +683,7 @@
   build: all
   language: c
   src:
-  - src/core/surface/init_unsecure.c
+  - src/core/lib/surface/init_unsecure.c
   deps:
   - gpr
   baselib: true
@@ -702,9 +702,9 @@
   public_headers:
   - include/grpc/grpc_zookeeper.h
   headers:
-  - src/core/client_config/resolvers/zookeeper_resolver.h
+  - src/core/lib/client_config/resolvers/zookeeper_resolver.h
   src:
-  - src/core/client_config/resolvers/zookeeper_resolver.c
+  - src/core/lib/client_config/resolvers/zookeeper_resolver.c
   deps:
   - gpr
   - grpc
diff --git a/config.m4 b/config.m4
index 8a5b239..549e632 100644
--- a/config.m4
+++ b/config.m4
@@ -36,211 +36,211 @@
     src/php/ext/grpc/server.c \
     src/php/ext/grpc/server_credentials.c \
     src/php/ext/grpc/timeval.c \
-    src/core/profiling/basic_timers.c \
-    src/core/profiling/stap_timers.c \
-    src/core/support/alloc.c \
-    src/core/support/avl.c \
-    src/core/support/backoff.c \
-    src/core/support/cmdline.c \
-    src/core/support/cpu_iphone.c \
-    src/core/support/cpu_linux.c \
-    src/core/support/cpu_posix.c \
-    src/core/support/cpu_windows.c \
-    src/core/support/env_linux.c \
-    src/core/support/env_posix.c \
-    src/core/support/env_win32.c \
-    src/core/support/histogram.c \
-    src/core/support/host_port.c \
-    src/core/support/load_file.c \
-    src/core/support/log.c \
-    src/core/support/log_android.c \
-    src/core/support/log_linux.c \
-    src/core/support/log_posix.c \
-    src/core/support/log_win32.c \
-    src/core/support/murmur_hash.c \
-    src/core/support/slice.c \
-    src/core/support/slice_buffer.c \
-    src/core/support/stack_lockfree.c \
-    src/core/support/string.c \
-    src/core/support/string_posix.c \
-    src/core/support/string_win32.c \
-    src/core/support/subprocess_posix.c \
-    src/core/support/subprocess_windows.c \
-    src/core/support/sync.c \
-    src/core/support/sync_posix.c \
-    src/core/support/sync_win32.c \
-    src/core/support/thd.c \
-    src/core/support/thd_posix.c \
-    src/core/support/thd_win32.c \
-    src/core/support/time.c \
-    src/core/support/time_posix.c \
-    src/core/support/time_precise.c \
-    src/core/support/time_win32.c \
-    src/core/support/tls_pthread.c \
-    src/core/support/tmpfile_posix.c \
-    src/core/support/tmpfile_win32.c \
-    src/core/support/wrap_memcpy.c \
-    src/core/census/grpc_context.c \
-    src/core/census/grpc_filter.c \
-    src/core/census/grpc_plugin.c \
-    src/core/channel/channel_args.c \
-    src/core/channel/channel_stack.c \
-    src/core/channel/channel_stack_builder.c \
-    src/core/channel/client_channel.c \
-    src/core/channel/compress_filter.c \
-    src/core/channel/connected_channel.c \
-    src/core/channel/http_client_filter.c \
-    src/core/channel/http_server_filter.c \
-    src/core/channel/subchannel_call_holder.c \
-    src/core/client_config/client_config.c \
-    src/core/client_config/connector.c \
-    src/core/client_config/default_initial_connect_string.c \
-    src/core/client_config/initial_connect_string.c \
-    src/core/client_config/lb_policies/load_balancer_api.c \
-    src/core/client_config/lb_policies/pick_first.c \
-    src/core/client_config/lb_policies/round_robin.c \
-    src/core/client_config/lb_policy.c \
-    src/core/client_config/lb_policy_factory.c \
-    src/core/client_config/lb_policy_registry.c \
-    src/core/client_config/resolver.c \
-    src/core/client_config/resolver_factory.c \
-    src/core/client_config/resolver_registry.c \
-    src/core/client_config/resolvers/dns_resolver.c \
-    src/core/client_config/resolvers/sockaddr_resolver.c \
-    src/core/client_config/subchannel.c \
-    src/core/client_config/subchannel_factory.c \
-    src/core/client_config/subchannel_index.c \
-    src/core/client_config/uri_parser.c \
-    src/core/compression/compression_algorithm.c \
-    src/core/compression/message_compress.c \
-    src/core/debug/trace.c \
-    src/core/http/format_request.c \
-    src/core/http/httpcli.c \
-    src/core/http/parser.c \
-    src/core/iomgr/closure.c \
-    src/core/iomgr/endpoint.c \
-    src/core/iomgr/endpoint_pair_posix.c \
-    src/core/iomgr/endpoint_pair_windows.c \
-    src/core/iomgr/exec_ctx.c \
-    src/core/iomgr/executor.c \
-    src/core/iomgr/fd_posix.c \
-    src/core/iomgr/iocp_windows.c \
-    src/core/iomgr/iomgr.c \
-    src/core/iomgr/iomgr_posix.c \
-    src/core/iomgr/iomgr_windows.c \
-    src/core/iomgr/pollset_multipoller_with_epoll.c \
-    src/core/iomgr/pollset_multipoller_with_poll_posix.c \
-    src/core/iomgr/pollset_posix.c \
-    src/core/iomgr/pollset_set_posix.c \
-    src/core/iomgr/pollset_set_windows.c \
-    src/core/iomgr/pollset_windows.c \
-    src/core/iomgr/resolve_address_posix.c \
-    src/core/iomgr/resolve_address_windows.c \
-    src/core/iomgr/sockaddr_utils.c \
-    src/core/iomgr/socket_utils_common_posix.c \
-    src/core/iomgr/socket_utils_linux.c \
-    src/core/iomgr/socket_utils_posix.c \
-    src/core/iomgr/socket_windows.c \
-    src/core/iomgr/tcp_client_posix.c \
-    src/core/iomgr/tcp_client_windows.c \
-    src/core/iomgr/tcp_posix.c \
-    src/core/iomgr/tcp_server_posix.c \
-    src/core/iomgr/tcp_server_windows.c \
-    src/core/iomgr/tcp_windows.c \
-    src/core/iomgr/time_averaged_stats.c \
-    src/core/iomgr/timer.c \
-    src/core/iomgr/timer_heap.c \
-    src/core/iomgr/udp_server.c \
-    src/core/iomgr/unix_sockets_posix.c \
-    src/core/iomgr/unix_sockets_posix_noop.c \
-    src/core/iomgr/wakeup_fd_eventfd.c \
-    src/core/iomgr/wakeup_fd_nospecial.c \
-    src/core/iomgr/wakeup_fd_pipe.c \
-    src/core/iomgr/wakeup_fd_posix.c \
-    src/core/iomgr/workqueue_posix.c \
-    src/core/iomgr/workqueue_windows.c \
-    src/core/json/json.c \
-    src/core/json/json_reader.c \
-    src/core/json/json_string.c \
-    src/core/json/json_writer.c \
-    src/core/proto/grpc/lb/v0/load_balancer.pb.c \
-    src/core/surface/alarm.c \
-    src/core/surface/api_trace.c \
-    src/core/surface/byte_buffer.c \
-    src/core/surface/byte_buffer_reader.c \
-    src/core/surface/call.c \
-    src/core/surface/call_details.c \
-    src/core/surface/call_log_batch.c \
-    src/core/surface/channel.c \
-    src/core/surface/channel_connectivity.c \
-    src/core/surface/channel_create.c \
-    src/core/surface/channel_init.c \
-    src/core/surface/channel_ping.c \
-    src/core/surface/channel_stack_type.c \
-    src/core/surface/completion_queue.c \
-    src/core/surface/event_string.c \
-    src/core/surface/init.c \
-    src/core/surface/lame_client.c \
-    src/core/surface/metadata_array.c \
-    src/core/surface/server.c \
-    src/core/surface/server_chttp2.c \
-    src/core/surface/validate_metadata.c \
-    src/core/surface/version.c \
-    src/core/transport/byte_stream.c \
-    src/core/transport/chttp2/alpn.c \
-    src/core/transport/chttp2/bin_encoder.c \
-    src/core/transport/chttp2/frame_data.c \
-    src/core/transport/chttp2/frame_goaway.c \
-    src/core/transport/chttp2/frame_ping.c \
-    src/core/transport/chttp2/frame_rst_stream.c \
-    src/core/transport/chttp2/frame_settings.c \
-    src/core/transport/chttp2/frame_window_update.c \
-    src/core/transport/chttp2/hpack_encoder.c \
-    src/core/transport/chttp2/hpack_parser.c \
-    src/core/transport/chttp2/hpack_table.c \
-    src/core/transport/chttp2/huffsyms.c \
-    src/core/transport/chttp2/incoming_metadata.c \
-    src/core/transport/chttp2/parsing.c \
-    src/core/transport/chttp2/status_conversion.c \
-    src/core/transport/chttp2/stream_lists.c \
-    src/core/transport/chttp2/stream_map.c \
-    src/core/transport/chttp2/timeout_encoding.c \
-    src/core/transport/chttp2/varint.c \
-    src/core/transport/chttp2/writing.c \
-    src/core/transport/chttp2_transport.c \
-    src/core/transport/connectivity_state.c \
-    src/core/transport/metadata.c \
-    src/core/transport/metadata_batch.c \
-    src/core/transport/static_metadata.c \
-    src/core/transport/transport.c \
-    src/core/transport/transport_op_string.c \
-    src/core/http/httpcli_security_connector.c \
-    src/core/security/b64.c \
-    src/core/security/client_auth_filter.c \
-    src/core/security/credentials.c \
-    src/core/security/credentials_metadata.c \
-    src/core/security/credentials_posix.c \
-    src/core/security/credentials_win32.c \
-    src/core/security/google_default_credentials.c \
-    src/core/security/handshake.c \
-    src/core/security/json_token.c \
-    src/core/security/jwt_verifier.c \
-    src/core/security/secure_endpoint.c \
-    src/core/security/security_connector.c \
-    src/core/security/security_context.c \
-    src/core/security/server_auth_filter.c \
-    src/core/security/server_secure_chttp2.c \
-    src/core/surface/init_secure.c \
-    src/core/surface/secure_channel_create.c \
-    src/core/tsi/fake_transport_security.c \
-    src/core/tsi/ssl_transport_security.c \
-    src/core/tsi/transport_security.c \
-    src/core/census/context.c \
-    src/core/census/initialize.c \
-    src/core/census/mlog.c \
-    src/core/census/operation.c \
-    src/core/census/placeholders.c \
-    src/core/census/tracing.c \
+    src/core/lib/profiling/basic_timers.c \
+    src/core/lib/profiling/stap_timers.c \
+    src/core/lib/support/alloc.c \
+    src/core/lib/support/avl.c \
+    src/core/lib/support/backoff.c \
+    src/core/lib/support/cmdline.c \
+    src/core/lib/support/cpu_iphone.c \
+    src/core/lib/support/cpu_linux.c \
+    src/core/lib/support/cpu_posix.c \
+    src/core/lib/support/cpu_windows.c \
+    src/core/lib/support/env_linux.c \
+    src/core/lib/support/env_posix.c \
+    src/core/lib/support/env_win32.c \
+    src/core/lib/support/histogram.c \
+    src/core/lib/support/host_port.c \
+    src/core/lib/support/load_file.c \
+    src/core/lib/support/log.c \
+    src/core/lib/support/log_android.c \
+    src/core/lib/support/log_linux.c \
+    src/core/lib/support/log_posix.c \
+    src/core/lib/support/log_win32.c \
+    src/core/lib/support/murmur_hash.c \
+    src/core/lib/support/slice.c \
+    src/core/lib/support/slice_buffer.c \
+    src/core/lib/support/stack_lockfree.c \
+    src/core/lib/support/string.c \
+    src/core/lib/support/string_posix.c \
+    src/core/lib/support/string_win32.c \
+    src/core/lib/support/subprocess_posix.c \
+    src/core/lib/support/subprocess_windows.c \
+    src/core/lib/support/sync.c \
+    src/core/lib/support/sync_posix.c \
+    src/core/lib/support/sync_win32.c \
+    src/core/lib/support/thd.c \
+    src/core/lib/support/thd_posix.c \
+    src/core/lib/support/thd_win32.c \
+    src/core/lib/support/time.c \
+    src/core/lib/support/time_posix.c \
+    src/core/lib/support/time_precise.c \
+    src/core/lib/support/time_win32.c \
+    src/core/lib/support/tls_pthread.c \
+    src/core/lib/support/tmpfile_posix.c \
+    src/core/lib/support/tmpfile_win32.c \
+    src/core/lib/support/wrap_memcpy.c \
+    src/core/lib/census/grpc_context.c \
+    src/core/lib/census/grpc_filter.c \
+    src/core/lib/census/grpc_plugin.c \
+    src/core/lib/channel/channel_args.c \
+    src/core/lib/channel/channel_stack.c \
+    src/core/lib/channel/channel_stack_builder.c \
+    src/core/lib/channel/client_channel.c \
+    src/core/lib/channel/compress_filter.c \
+    src/core/lib/channel/connected_channel.c \
+    src/core/lib/channel/http_client_filter.c \
+    src/core/lib/channel/http_server_filter.c \
+    src/core/lib/channel/subchannel_call_holder.c \
+    src/core/lib/client_config/client_config.c \
+    src/core/lib/client_config/connector.c \
+    src/core/lib/client_config/default_initial_connect_string.c \
+    src/core/lib/client_config/initial_connect_string.c \
+    src/core/lib/client_config/lb_policies/load_balancer_api.c \
+    src/core/lib/client_config/lb_policies/pick_first.c \
+    src/core/lib/client_config/lb_policies/round_robin.c \
+    src/core/lib/client_config/lb_policy.c \
+    src/core/lib/client_config/lb_policy_factory.c \
+    src/core/lib/client_config/lb_policy_registry.c \
+    src/core/lib/client_config/resolver.c \
+    src/core/lib/client_config/resolver_factory.c \
+    src/core/lib/client_config/resolver_registry.c \
+    src/core/lib/client_config/resolvers/dns_resolver.c \
+    src/core/lib/client_config/resolvers/sockaddr_resolver.c \
+    src/core/lib/client_config/subchannel.c \
+    src/core/lib/client_config/subchannel_factory.c \
+    src/core/lib/client_config/subchannel_index.c \
+    src/core/lib/client_config/uri_parser.c \
+    src/core/lib/compression/compression_algorithm.c \
+    src/core/lib/compression/message_compress.c \
+    src/core/lib/debug/trace.c \
+    src/core/lib/http/format_request.c \
+    src/core/lib/http/httpcli.c \
+    src/core/lib/http/parser.c \
+    src/core/lib/iomgr/closure.c \
+    src/core/lib/iomgr/endpoint.c \
+    src/core/lib/iomgr/endpoint_pair_posix.c \
+    src/core/lib/iomgr/endpoint_pair_windows.c \
+    src/core/lib/iomgr/exec_ctx.c \
+    src/core/lib/iomgr/executor.c \
+    src/core/lib/iomgr/fd_posix.c \
+    src/core/lib/iomgr/iocp_windows.c \
+    src/core/lib/iomgr/iomgr.c \
+    src/core/lib/iomgr/iomgr_posix.c \
+    src/core/lib/iomgr/iomgr_windows.c \
+    src/core/lib/iomgr/pollset_multipoller_with_epoll.c \
+    src/core/lib/iomgr/pollset_multipoller_with_poll_posix.c \
+    src/core/lib/iomgr/pollset_posix.c \
+    src/core/lib/iomgr/pollset_set_posix.c \
+    src/core/lib/iomgr/pollset_set_windows.c \
+    src/core/lib/iomgr/pollset_windows.c \
+    src/core/lib/iomgr/resolve_address_posix.c \
+    src/core/lib/iomgr/resolve_address_windows.c \
+    src/core/lib/iomgr/sockaddr_utils.c \
+    src/core/lib/iomgr/socket_utils_common_posix.c \
+    src/core/lib/iomgr/socket_utils_linux.c \
+    src/core/lib/iomgr/socket_utils_posix.c \
+    src/core/lib/iomgr/socket_windows.c \
+    src/core/lib/iomgr/tcp_client_posix.c \
+    src/core/lib/iomgr/tcp_client_windows.c \
+    src/core/lib/iomgr/tcp_posix.c \
+    src/core/lib/iomgr/tcp_server_posix.c \
+    src/core/lib/iomgr/tcp_server_windows.c \
+    src/core/lib/iomgr/tcp_windows.c \
+    src/core/lib/iomgr/time_averaged_stats.c \
+    src/core/lib/iomgr/timer.c \
+    src/core/lib/iomgr/timer_heap.c \
+    src/core/lib/iomgr/udp_server.c \
+    src/core/lib/iomgr/unix_sockets_posix.c \
+    src/core/lib/iomgr/unix_sockets_posix_noop.c \
+    src/core/lib/iomgr/wakeup_fd_eventfd.c \
+    src/core/lib/iomgr/wakeup_fd_nospecial.c \
+    src/core/lib/iomgr/wakeup_fd_pipe.c \
+    src/core/lib/iomgr/wakeup_fd_posix.c \
+    src/core/lib/iomgr/workqueue_posix.c \
+    src/core/lib/iomgr/workqueue_windows.c \
+    src/core/lib/json/json.c \
+    src/core/lib/json/json_reader.c \
+    src/core/lib/json/json_string.c \
+    src/core/lib/json/json_writer.c \
+    src/core/lib/proto/grpc/lb/v0/load_balancer.pb.c \
+    src/core/lib/surface/alarm.c \
+    src/core/lib/surface/api_trace.c \
+    src/core/lib/surface/byte_buffer.c \
+    src/core/lib/surface/byte_buffer_reader.c \
+    src/core/lib/surface/call.c \
+    src/core/lib/surface/call_details.c \
+    src/core/lib/surface/call_log_batch.c \
+    src/core/lib/surface/channel.c \
+    src/core/lib/surface/channel_connectivity.c \
+    src/core/lib/surface/channel_create.c \
+    src/core/lib/surface/channel_init.c \
+    src/core/lib/surface/channel_ping.c \
+    src/core/lib/surface/channel_stack_type.c \
+    src/core/lib/surface/completion_queue.c \
+    src/core/lib/surface/event_string.c \
+    src/core/lib/surface/init.c \
+    src/core/lib/surface/lame_client.c \
+    src/core/lib/surface/metadata_array.c \
+    src/core/lib/surface/server.c \
+    src/core/lib/surface/server_chttp2.c \
+    src/core/lib/surface/validate_metadata.c \
+    src/core/lib/surface/version.c \
+    src/core/lib/transport/byte_stream.c \
+    src/core/lib/transport/chttp2/alpn.c \
+    src/core/lib/transport/chttp2/bin_encoder.c \
+    src/core/lib/transport/chttp2/frame_data.c \
+    src/core/lib/transport/chttp2/frame_goaway.c \
+    src/core/lib/transport/chttp2/frame_ping.c \
+    src/core/lib/transport/chttp2/frame_rst_stream.c \
+    src/core/lib/transport/chttp2/frame_settings.c \
+    src/core/lib/transport/chttp2/frame_window_update.c \
+    src/core/lib/transport/chttp2/hpack_encoder.c \
+    src/core/lib/transport/chttp2/hpack_parser.c \
+    src/core/lib/transport/chttp2/hpack_table.c \
+    src/core/lib/transport/chttp2/huffsyms.c \
+    src/core/lib/transport/chttp2/incoming_metadata.c \
+    src/core/lib/transport/chttp2/parsing.c \
+    src/core/lib/transport/chttp2/status_conversion.c \
+    src/core/lib/transport/chttp2/stream_lists.c \
+    src/core/lib/transport/chttp2/stream_map.c \
+    src/core/lib/transport/chttp2/timeout_encoding.c \
+    src/core/lib/transport/chttp2/varint.c \
+    src/core/lib/transport/chttp2/writing.c \
+    src/core/lib/transport/chttp2_transport.c \
+    src/core/lib/transport/connectivity_state.c \
+    src/core/lib/transport/metadata.c \
+    src/core/lib/transport/metadata_batch.c \
+    src/core/lib/transport/static_metadata.c \
+    src/core/lib/transport/transport.c \
+    src/core/lib/transport/transport_op_string.c \
+    src/core/lib/http/httpcli_security_connector.c \
+    src/core/lib/security/b64.c \
+    src/core/lib/security/client_auth_filter.c \
+    src/core/lib/security/credentials.c \
+    src/core/lib/security/credentials_metadata.c \
+    src/core/lib/security/credentials_posix.c \
+    src/core/lib/security/credentials_win32.c \
+    src/core/lib/security/google_default_credentials.c \
+    src/core/lib/security/handshake.c \
+    src/core/lib/security/json_token.c \
+    src/core/lib/security/jwt_verifier.c \
+    src/core/lib/security/secure_endpoint.c \
+    src/core/lib/security/security_connector.c \
+    src/core/lib/security/security_context.c \
+    src/core/lib/security/server_auth_filter.c \
+    src/core/lib/security/server_secure_chttp2.c \
+    src/core/lib/surface/init_secure.c \
+    src/core/lib/surface/secure_channel_create.c \
+    src/core/lib/tsi/fake_transport_security.c \
+    src/core/lib/tsi/ssl_transport_security.c \
+    src/core/lib/tsi/transport_security.c \
+    src/core/lib/census/context.c \
+    src/core/lib/census/initialize.c \
+    src/core/lib/census/mlog.c \
+    src/core/lib/census/operation.c \
+    src/core/lib/census/placeholders.c \
+    src/core/lib/census/tracing.c \
     third_party/nanopb/pb_common.c \
     third_party/nanopb/pb_decode.c \
     third_party/nanopb/pb_encode.c \
@@ -546,24 +546,24 @@
   PHP_ADD_BUILD_DIR($ext_builddir/src/php/ext/grpc)
 
   PHP_ADD_BUILD_DIR($ext_builddir/src/boringssl)
-  PHP_ADD_BUILD_DIR($ext_builddir/src/core/census)
-  PHP_ADD_BUILD_DIR($ext_builddir/src/core/channel)
-  PHP_ADD_BUILD_DIR($ext_builddir/src/core/client_config)
-  PHP_ADD_BUILD_DIR($ext_builddir/src/core/client_config/lb_policies)
-  PHP_ADD_BUILD_DIR($ext_builddir/src/core/client_config/resolvers)
-  PHP_ADD_BUILD_DIR($ext_builddir/src/core/compression)
-  PHP_ADD_BUILD_DIR($ext_builddir/src/core/debug)
-  PHP_ADD_BUILD_DIR($ext_builddir/src/core/http)
-  PHP_ADD_BUILD_DIR($ext_builddir/src/core/iomgr)
-  PHP_ADD_BUILD_DIR($ext_builddir/src/core/json)
-  PHP_ADD_BUILD_DIR($ext_builddir/src/core/profiling)
-  PHP_ADD_BUILD_DIR($ext_builddir/src/core/proto/grpc/lb/v0)
-  PHP_ADD_BUILD_DIR($ext_builddir/src/core/security)
-  PHP_ADD_BUILD_DIR($ext_builddir/src/core/support)
-  PHP_ADD_BUILD_DIR($ext_builddir/src/core/surface)
-  PHP_ADD_BUILD_DIR($ext_builddir/src/core/transport)
-  PHP_ADD_BUILD_DIR($ext_builddir/src/core/transport/chttp2)
-  PHP_ADD_BUILD_DIR($ext_builddir/src/core/tsi)
+  PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/census)
+  PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/channel)
+  PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/client_config)
+  PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/client_config/lb_policies)
+  PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/client_config/resolvers)
+  PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/compression)
+  PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/debug)
+  PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/http)
+  PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/iomgr)
+  PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/json)
+  PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/profiling)
+  PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/proto/grpc/lb/v0)
+  PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/security)
+  PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/support)
+  PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/surface)
+  PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/transport)
+  PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/transport/chttp2)
+  PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/tsi)
   PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl/crypto)
   PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl/crypto/aes)
   PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl/crypto/asn1)
diff --git a/doc/interop-test-descriptions.md b/doc/interop-test-descriptions.md
index 3beb1d1..6297b5c 100644
--- a/doc/interop-test-descriptions.md
+++ b/doc/interop-test-descriptions.md
@@ -27,7 +27,7 @@
     * Whether to use a plaintext or encrypted connection
 * --use_test_ca=BOOLEAN
     * Whether to replace platform root CAs with
-      [ca.pem](https://github.com/grpc/grpc/blob/master/src/core/tsi/test_creds/ca.pem)
+      [ca.pem](https://github.com/grpc/grpc/blob/master/src/core/lib/tsi/test_creds/ca.pem)
       as the CA root
 * --default_service_account=ACCOUNT_EMAIL
     * Email of the GCE default service account. Only applicable
@@ -920,7 +920,7 @@
     * Whether to use a plaintext or encrypted connection
 
 Servers must support TLS with ALPN. They should use
-[server1.pem](https://github.com/grpc/grpc/blob/master/src/core/tsi/test_creds/server1.pem)
+[server1.pem](https://github.com/grpc/grpc/blob/master/src/core/lib/tsi/test_creds/server1.pem)
 for their certificate.
 
 ### EmptyCall
diff --git a/gRPC.podspec b/gRPC.podspec
index 2a3ed15..3d5e8af 100644
--- a/gRPC.podspec
+++ b/gRPC.podspec
@@ -63,18 +63,18 @@
 
   # Core cross-platform gRPC library, written in C.
   s.subspec 'C-Core' do |ss|
-    ss.source_files = 'src/core/profiling/timers.h',
-                      'src/core/support/backoff.h',
-                      'src/core/support/block_annotate.h',
-                      'src/core/support/env.h',
-                      'src/core/support/load_file.h',
-                      'src/core/support/murmur_hash.h',
-                      'src/core/support/stack_lockfree.h',
-                      'src/core/support/string.h',
-                      'src/core/support/string_win32.h',
-                      'src/core/support/thd_internal.h',
-                      'src/core/support/time_precise.h',
-                      'src/core/support/tmpfile.h',
+    ss.source_files = 'src/core/lib/profiling/timers.h',
+                      'src/core/lib/support/backoff.h',
+                      'src/core/lib/support/block_annotate.h',
+                      'src/core/lib/support/env.h',
+                      'src/core/lib/support/load_file.h',
+                      'src/core/lib/support/murmur_hash.h',
+                      'src/core/lib/support/stack_lockfree.h',
+                      'src/core/lib/support/string.h',
+                      'src/core/lib/support/string_win32.h',
+                      'src/core/lib/support/thd_internal.h',
+                      'src/core/lib/support/time_precise.h',
+                      'src/core/lib/support/tmpfile.h',
                       'include/grpc/support/alloc.h',
                       'include/grpc/support/atm.h',
                       'include/grpc/support/atm_gcc_atomic.h',
@@ -117,187 +117,187 @@
                       'include/grpc/impl/codegen/sync_posix.h',
                       'include/grpc/impl/codegen/sync_win32.h',
                       'include/grpc/impl/codegen/time.h',
-                      'src/core/profiling/basic_timers.c',
-                      'src/core/profiling/stap_timers.c',
-                      'src/core/support/alloc.c',
-                      'src/core/support/avl.c',
-                      'src/core/support/backoff.c',
-                      'src/core/support/cmdline.c',
-                      'src/core/support/cpu_iphone.c',
-                      'src/core/support/cpu_linux.c',
-                      'src/core/support/cpu_posix.c',
-                      'src/core/support/cpu_windows.c',
-                      'src/core/support/env_linux.c',
-                      'src/core/support/env_posix.c',
-                      'src/core/support/env_win32.c',
-                      'src/core/support/histogram.c',
-                      'src/core/support/host_port.c',
-                      'src/core/support/load_file.c',
-                      'src/core/support/log.c',
-                      'src/core/support/log_android.c',
-                      'src/core/support/log_linux.c',
-                      'src/core/support/log_posix.c',
-                      'src/core/support/log_win32.c',
-                      'src/core/support/murmur_hash.c',
-                      'src/core/support/slice.c',
-                      'src/core/support/slice_buffer.c',
-                      'src/core/support/stack_lockfree.c',
-                      'src/core/support/string.c',
-                      'src/core/support/string_posix.c',
-                      'src/core/support/string_win32.c',
-                      'src/core/support/subprocess_posix.c',
-                      'src/core/support/subprocess_windows.c',
-                      'src/core/support/sync.c',
-                      'src/core/support/sync_posix.c',
-                      'src/core/support/sync_win32.c',
-                      'src/core/support/thd.c',
-                      'src/core/support/thd_posix.c',
-                      'src/core/support/thd_win32.c',
-                      'src/core/support/time.c',
-                      'src/core/support/time_posix.c',
-                      'src/core/support/time_precise.c',
-                      'src/core/support/time_win32.c',
-                      'src/core/support/tls_pthread.c',
-                      'src/core/support/tmpfile_posix.c',
-                      'src/core/support/tmpfile_win32.c',
-                      'src/core/support/wrap_memcpy.c',
-                      'src/core/census/grpc_filter.h',
-                      'src/core/census/grpc_plugin.h',
-                      'src/core/channel/channel_args.h',
-                      'src/core/channel/channel_stack.h',
-                      'src/core/channel/channel_stack_builder.h',
-                      'src/core/channel/client_channel.h',
-                      'src/core/channel/compress_filter.h',
-                      'src/core/channel/connected_channel.h',
-                      'src/core/channel/context.h',
-                      'src/core/channel/http_client_filter.h',
-                      'src/core/channel/http_server_filter.h',
-                      'src/core/channel/subchannel_call_holder.h',
-                      'src/core/client_config/client_config.h',
-                      'src/core/client_config/connector.h',
-                      'src/core/client_config/initial_connect_string.h',
-                      'src/core/client_config/lb_policies/load_balancer_api.h',
-                      'src/core/client_config/lb_policies/pick_first.h',
-                      'src/core/client_config/lb_policies/round_robin.h',
-                      'src/core/client_config/lb_policy.h',
-                      'src/core/client_config/lb_policy_factory.h',
-                      'src/core/client_config/lb_policy_registry.h',
-                      'src/core/client_config/resolver.h',
-                      'src/core/client_config/resolver_factory.h',
-                      'src/core/client_config/resolver_registry.h',
-                      'src/core/client_config/resolvers/dns_resolver.h',
-                      'src/core/client_config/resolvers/sockaddr_resolver.h',
-                      'src/core/client_config/subchannel.h',
-                      'src/core/client_config/subchannel_factory.h',
-                      'src/core/client_config/subchannel_index.h',
-                      'src/core/client_config/uri_parser.h',
-                      'src/core/compression/algorithm_metadata.h',
-                      'src/core/compression/message_compress.h',
-                      'src/core/debug/trace.h',
-                      'src/core/http/format_request.h',
-                      'src/core/http/httpcli.h',
-                      'src/core/http/parser.h',
-                      'src/core/iomgr/closure.h',
-                      'src/core/iomgr/endpoint.h',
-                      'src/core/iomgr/endpoint_pair.h',
-                      'src/core/iomgr/exec_ctx.h',
-                      'src/core/iomgr/executor.h',
-                      'src/core/iomgr/fd_posix.h',
-                      'src/core/iomgr/iocp_windows.h',
-                      'src/core/iomgr/iomgr.h',
-                      'src/core/iomgr/iomgr_internal.h',
-                      'src/core/iomgr/iomgr_posix.h',
-                      'src/core/iomgr/pollset.h',
-                      'src/core/iomgr/pollset_posix.h',
-                      'src/core/iomgr/pollset_set.h',
-                      'src/core/iomgr/pollset_set_posix.h',
-                      'src/core/iomgr/pollset_set_windows.h',
-                      'src/core/iomgr/pollset_windows.h',
-                      'src/core/iomgr/resolve_address.h',
-                      'src/core/iomgr/sockaddr.h',
-                      'src/core/iomgr/sockaddr_posix.h',
-                      'src/core/iomgr/sockaddr_utils.h',
-                      'src/core/iomgr/sockaddr_win32.h',
-                      'src/core/iomgr/socket_utils_posix.h',
-                      'src/core/iomgr/socket_windows.h',
-                      'src/core/iomgr/tcp_client.h',
-                      'src/core/iomgr/tcp_posix.h',
-                      'src/core/iomgr/tcp_server.h',
-                      'src/core/iomgr/tcp_windows.h',
-                      'src/core/iomgr/time_averaged_stats.h',
-                      'src/core/iomgr/timer.h',
-                      'src/core/iomgr/timer_heap.h',
-                      'src/core/iomgr/udp_server.h',
-                      'src/core/iomgr/unix_sockets_posix.h',
-                      'src/core/iomgr/wakeup_fd_pipe.h',
-                      'src/core/iomgr/wakeup_fd_posix.h',
-                      'src/core/iomgr/workqueue.h',
-                      'src/core/iomgr/workqueue_posix.h',
-                      'src/core/iomgr/workqueue_windows.h',
-                      'src/core/json/json.h',
-                      'src/core/json/json_common.h',
-                      'src/core/json/json_reader.h',
-                      'src/core/json/json_writer.h',
-                      'src/core/proto/grpc/lb/v0/load_balancer.pb.h',
-                      'src/core/statistics/census_interface.h',
-                      'src/core/statistics/census_rpc_stats.h',
-                      'src/core/surface/api_trace.h',
-                      'src/core/surface/call.h',
-                      'src/core/surface/call_test_only.h',
-                      'src/core/surface/channel.h',
-                      'src/core/surface/channel_init.h',
-                      'src/core/surface/channel_stack_type.h',
-                      'src/core/surface/completion_queue.h',
-                      'src/core/surface/event_string.h',
-                      'src/core/surface/init.h',
-                      'src/core/surface/lame_client.h',
-                      'src/core/surface/server.h',
-                      'src/core/surface/surface_trace.h',
-                      'src/core/transport/byte_stream.h',
-                      'src/core/transport/chttp2/alpn.h',
-                      'src/core/transport/chttp2/bin_encoder.h',
-                      'src/core/transport/chttp2/frame.h',
-                      'src/core/transport/chttp2/frame_data.h',
-                      'src/core/transport/chttp2/frame_goaway.h',
-                      'src/core/transport/chttp2/frame_ping.h',
-                      'src/core/transport/chttp2/frame_rst_stream.h',
-                      'src/core/transport/chttp2/frame_settings.h',
-                      'src/core/transport/chttp2/frame_window_update.h',
-                      'src/core/transport/chttp2/hpack_encoder.h',
-                      'src/core/transport/chttp2/hpack_parser.h',
-                      'src/core/transport/chttp2/hpack_table.h',
-                      'src/core/transport/chttp2/http2_errors.h',
-                      'src/core/transport/chttp2/huffsyms.h',
-                      'src/core/transport/chttp2/incoming_metadata.h',
-                      'src/core/transport/chttp2/internal.h',
-                      'src/core/transport/chttp2/status_conversion.h',
-                      'src/core/transport/chttp2/stream_map.h',
-                      'src/core/transport/chttp2/timeout_encoding.h',
-                      'src/core/transport/chttp2/varint.h',
-                      'src/core/transport/chttp2_transport.h',
-                      'src/core/transport/connectivity_state.h',
-                      'src/core/transport/metadata.h',
-                      'src/core/transport/metadata_batch.h',
-                      'src/core/transport/static_metadata.h',
-                      'src/core/transport/transport.h',
-                      'src/core/transport/transport_impl.h',
-                      'src/core/security/auth_filters.h',
-                      'src/core/security/b64.h',
-                      'src/core/security/credentials.h',
-                      'src/core/security/handshake.h',
-                      'src/core/security/json_token.h',
-                      'src/core/security/jwt_verifier.h',
-                      'src/core/security/secure_endpoint.h',
-                      'src/core/security/security_connector.h',
-                      'src/core/security/security_context.h',
-                      'src/core/tsi/fake_transport_security.h',
-                      'src/core/tsi/ssl_transport_security.h',
-                      'src/core/tsi/ssl_types.h',
-                      'src/core/tsi/transport_security.h',
-                      'src/core/tsi/transport_security_interface.h',
-                      'src/core/census/aggregation.h',
-                      'src/core/census/mlog.h',
-                      'src/core/census/rpc_metric_id.h',
+                      'src/core/lib/profiling/basic_timers.c',
+                      'src/core/lib/profiling/stap_timers.c',
+                      'src/core/lib/support/alloc.c',
+                      'src/core/lib/support/avl.c',
+                      'src/core/lib/support/backoff.c',
+                      'src/core/lib/support/cmdline.c',
+                      'src/core/lib/support/cpu_iphone.c',
+                      'src/core/lib/support/cpu_linux.c',
+                      'src/core/lib/support/cpu_posix.c',
+                      'src/core/lib/support/cpu_windows.c',
+                      'src/core/lib/support/env_linux.c',
+                      'src/core/lib/support/env_posix.c',
+                      'src/core/lib/support/env_win32.c',
+                      'src/core/lib/support/histogram.c',
+                      'src/core/lib/support/host_port.c',
+                      'src/core/lib/support/load_file.c',
+                      'src/core/lib/support/log.c',
+                      'src/core/lib/support/log_android.c',
+                      'src/core/lib/support/log_linux.c',
+                      'src/core/lib/support/log_posix.c',
+                      'src/core/lib/support/log_win32.c',
+                      'src/core/lib/support/murmur_hash.c',
+                      'src/core/lib/support/slice.c',
+                      'src/core/lib/support/slice_buffer.c',
+                      'src/core/lib/support/stack_lockfree.c',
+                      'src/core/lib/support/string.c',
+                      'src/core/lib/support/string_posix.c',
+                      'src/core/lib/support/string_win32.c',
+                      'src/core/lib/support/subprocess_posix.c',
+                      'src/core/lib/support/subprocess_windows.c',
+                      'src/core/lib/support/sync.c',
+                      'src/core/lib/support/sync_posix.c',
+                      'src/core/lib/support/sync_win32.c',
+                      'src/core/lib/support/thd.c',
+                      'src/core/lib/support/thd_posix.c',
+                      'src/core/lib/support/thd_win32.c',
+                      'src/core/lib/support/time.c',
+                      'src/core/lib/support/time_posix.c',
+                      'src/core/lib/support/time_precise.c',
+                      'src/core/lib/support/time_win32.c',
+                      'src/core/lib/support/tls_pthread.c',
+                      'src/core/lib/support/tmpfile_posix.c',
+                      'src/core/lib/support/tmpfile_win32.c',
+                      'src/core/lib/support/wrap_memcpy.c',
+                      'src/core/lib/census/grpc_filter.h',
+                      'src/core/lib/census/grpc_plugin.h',
+                      'src/core/lib/channel/channel_args.h',
+                      'src/core/lib/channel/channel_stack.h',
+                      'src/core/lib/channel/channel_stack_builder.h',
+                      'src/core/lib/channel/client_channel.h',
+                      'src/core/lib/channel/compress_filter.h',
+                      'src/core/lib/channel/connected_channel.h',
+                      'src/core/lib/channel/context.h',
+                      'src/core/lib/channel/http_client_filter.h',
+                      'src/core/lib/channel/http_server_filter.h',
+                      'src/core/lib/channel/subchannel_call_holder.h',
+                      'src/core/lib/client_config/client_config.h',
+                      'src/core/lib/client_config/connector.h',
+                      'src/core/lib/client_config/initial_connect_string.h',
+                      'src/core/lib/client_config/lb_policies/load_balancer_api.h',
+                      'src/core/lib/client_config/lb_policies/pick_first.h',
+                      'src/core/lib/client_config/lb_policies/round_robin.h',
+                      'src/core/lib/client_config/lb_policy.h',
+                      'src/core/lib/client_config/lb_policy_factory.h',
+                      'src/core/lib/client_config/lb_policy_registry.h',
+                      'src/core/lib/client_config/resolver.h',
+                      'src/core/lib/client_config/resolver_factory.h',
+                      'src/core/lib/client_config/resolver_registry.h',
+                      'src/core/lib/client_config/resolvers/dns_resolver.h',
+                      'src/core/lib/client_config/resolvers/sockaddr_resolver.h',
+                      'src/core/lib/client_config/subchannel.h',
+                      'src/core/lib/client_config/subchannel_factory.h',
+                      'src/core/lib/client_config/subchannel_index.h',
+                      'src/core/lib/client_config/uri_parser.h',
+                      'src/core/lib/compression/algorithm_metadata.h',
+                      'src/core/lib/compression/message_compress.h',
+                      'src/core/lib/debug/trace.h',
+                      'src/core/lib/http/format_request.h',
+                      'src/core/lib/http/httpcli.h',
+                      'src/core/lib/http/parser.h',
+                      'src/core/lib/iomgr/closure.h',
+                      'src/core/lib/iomgr/endpoint.h',
+                      'src/core/lib/iomgr/endpoint_pair.h',
+                      'src/core/lib/iomgr/exec_ctx.h',
+                      'src/core/lib/iomgr/executor.h',
+                      'src/core/lib/iomgr/fd_posix.h',
+                      'src/core/lib/iomgr/iocp_windows.h',
+                      'src/core/lib/iomgr/iomgr.h',
+                      'src/core/lib/iomgr/iomgr_internal.h',
+                      'src/core/lib/iomgr/iomgr_posix.h',
+                      'src/core/lib/iomgr/pollset.h',
+                      'src/core/lib/iomgr/pollset_posix.h',
+                      'src/core/lib/iomgr/pollset_set.h',
+                      'src/core/lib/iomgr/pollset_set_posix.h',
+                      'src/core/lib/iomgr/pollset_set_windows.h',
+                      'src/core/lib/iomgr/pollset_windows.h',
+                      'src/core/lib/iomgr/resolve_address.h',
+                      'src/core/lib/iomgr/sockaddr.h',
+                      'src/core/lib/iomgr/sockaddr_posix.h',
+                      'src/core/lib/iomgr/sockaddr_utils.h',
+                      'src/core/lib/iomgr/sockaddr_win32.h',
+                      'src/core/lib/iomgr/socket_utils_posix.h',
+                      'src/core/lib/iomgr/socket_windows.h',
+                      'src/core/lib/iomgr/tcp_client.h',
+                      'src/core/lib/iomgr/tcp_posix.h',
+                      'src/core/lib/iomgr/tcp_server.h',
+                      'src/core/lib/iomgr/tcp_windows.h',
+                      'src/core/lib/iomgr/time_averaged_stats.h',
+                      'src/core/lib/iomgr/timer.h',
+                      'src/core/lib/iomgr/timer_heap.h',
+                      'src/core/lib/iomgr/udp_server.h',
+                      'src/core/lib/iomgr/unix_sockets_posix.h',
+                      'src/core/lib/iomgr/wakeup_fd_pipe.h',
+                      'src/core/lib/iomgr/wakeup_fd_posix.h',
+                      'src/core/lib/iomgr/workqueue.h',
+                      'src/core/lib/iomgr/workqueue_posix.h',
+                      'src/core/lib/iomgr/workqueue_windows.h',
+                      'src/core/lib/json/json.h',
+                      'src/core/lib/json/json_common.h',
+                      'src/core/lib/json/json_reader.h',
+                      'src/core/lib/json/json_writer.h',
+                      'src/core/lib/proto/grpc/lb/v0/load_balancer.pb.h',
+                      'src/core/lib/statistics/census_interface.h',
+                      'src/core/lib/statistics/census_rpc_stats.h',
+                      'src/core/lib/surface/api_trace.h',
+                      'src/core/lib/surface/call.h',
+                      'src/core/lib/surface/call_test_only.h',
+                      'src/core/lib/surface/channel.h',
+                      'src/core/lib/surface/channel_init.h',
+                      'src/core/lib/surface/channel_stack_type.h',
+                      'src/core/lib/surface/completion_queue.h',
+                      'src/core/lib/surface/event_string.h',
+                      'src/core/lib/surface/init.h',
+                      'src/core/lib/surface/lame_client.h',
+                      'src/core/lib/surface/server.h',
+                      'src/core/lib/surface/surface_trace.h',
+                      'src/core/lib/transport/byte_stream.h',
+                      'src/core/lib/transport/chttp2/alpn.h',
+                      'src/core/lib/transport/chttp2/bin_encoder.h',
+                      'src/core/lib/transport/chttp2/frame.h',
+                      'src/core/lib/transport/chttp2/frame_data.h',
+                      'src/core/lib/transport/chttp2/frame_goaway.h',
+                      'src/core/lib/transport/chttp2/frame_ping.h',
+                      'src/core/lib/transport/chttp2/frame_rst_stream.h',
+                      'src/core/lib/transport/chttp2/frame_settings.h',
+                      'src/core/lib/transport/chttp2/frame_window_update.h',
+                      'src/core/lib/transport/chttp2/hpack_encoder.h',
+                      'src/core/lib/transport/chttp2/hpack_parser.h',
+                      'src/core/lib/transport/chttp2/hpack_table.h',
+                      'src/core/lib/transport/chttp2/http2_errors.h',
+                      'src/core/lib/transport/chttp2/huffsyms.h',
+                      'src/core/lib/transport/chttp2/incoming_metadata.h',
+                      'src/core/lib/transport/chttp2/internal.h',
+                      'src/core/lib/transport/chttp2/status_conversion.h',
+                      'src/core/lib/transport/chttp2/stream_map.h',
+                      'src/core/lib/transport/chttp2/timeout_encoding.h',
+                      'src/core/lib/transport/chttp2/varint.h',
+                      'src/core/lib/transport/chttp2_transport.h',
+                      'src/core/lib/transport/connectivity_state.h',
+                      'src/core/lib/transport/metadata.h',
+                      'src/core/lib/transport/metadata_batch.h',
+                      'src/core/lib/transport/static_metadata.h',
+                      'src/core/lib/transport/transport.h',
+                      'src/core/lib/transport/transport_impl.h',
+                      'src/core/lib/security/auth_filters.h',
+                      'src/core/lib/security/b64.h',
+                      'src/core/lib/security/credentials.h',
+                      'src/core/lib/security/handshake.h',
+                      'src/core/lib/security/json_token.h',
+                      'src/core/lib/security/jwt_verifier.h',
+                      'src/core/lib/security/secure_endpoint.h',
+                      'src/core/lib/security/security_connector.h',
+                      'src/core/lib/security/security_context.h',
+                      'src/core/lib/tsi/fake_transport_security.h',
+                      'src/core/lib/tsi/ssl_transport_security.h',
+                      'src/core/lib/tsi/ssl_types.h',
+                      'src/core/lib/tsi/transport_security.h',
+                      'src/core/lib/tsi/transport_security_interface.h',
+                      'src/core/lib/census/aggregation.h',
+                      'src/core/lib/census/mlog.h',
+                      'src/core/lib/census/rpc_metric_id.h',
                       'third_party/nanopb/pb.h',
                       'third_party/nanopb/pb_common.h',
                       'third_party/nanopb/pb_decode.h',
@@ -315,320 +315,320 @@
                       'include/grpc/impl/codegen/propagation_bits.h',
                       'include/grpc/impl/codegen/status.h',
                       'include/grpc/census.h',
-                      'src/core/census/grpc_context.c',
-                      'src/core/census/grpc_filter.c',
-                      'src/core/census/grpc_plugin.c',
-                      'src/core/channel/channel_args.c',
-                      'src/core/channel/channel_stack.c',
-                      'src/core/channel/channel_stack_builder.c',
-                      'src/core/channel/client_channel.c',
-                      'src/core/channel/compress_filter.c',
-                      'src/core/channel/connected_channel.c',
-                      'src/core/channel/http_client_filter.c',
-                      'src/core/channel/http_server_filter.c',
-                      'src/core/channel/subchannel_call_holder.c',
-                      'src/core/client_config/client_config.c',
-                      'src/core/client_config/connector.c',
-                      'src/core/client_config/default_initial_connect_string.c',
-                      'src/core/client_config/initial_connect_string.c',
-                      'src/core/client_config/lb_policies/load_balancer_api.c',
-                      'src/core/client_config/lb_policies/pick_first.c',
-                      'src/core/client_config/lb_policies/round_robin.c',
-                      'src/core/client_config/lb_policy.c',
-                      'src/core/client_config/lb_policy_factory.c',
-                      'src/core/client_config/lb_policy_registry.c',
-                      'src/core/client_config/resolver.c',
-                      'src/core/client_config/resolver_factory.c',
-                      'src/core/client_config/resolver_registry.c',
-                      'src/core/client_config/resolvers/dns_resolver.c',
-                      'src/core/client_config/resolvers/sockaddr_resolver.c',
-                      'src/core/client_config/subchannel.c',
-                      'src/core/client_config/subchannel_factory.c',
-                      'src/core/client_config/subchannel_index.c',
-                      'src/core/client_config/uri_parser.c',
-                      'src/core/compression/compression_algorithm.c',
-                      'src/core/compression/message_compress.c',
-                      'src/core/debug/trace.c',
-                      'src/core/http/format_request.c',
-                      'src/core/http/httpcli.c',
-                      'src/core/http/parser.c',
-                      'src/core/iomgr/closure.c',
-                      'src/core/iomgr/endpoint.c',
-                      'src/core/iomgr/endpoint_pair_posix.c',
-                      'src/core/iomgr/endpoint_pair_windows.c',
-                      'src/core/iomgr/exec_ctx.c',
-                      'src/core/iomgr/executor.c',
-                      'src/core/iomgr/fd_posix.c',
-                      'src/core/iomgr/iocp_windows.c',
-                      'src/core/iomgr/iomgr.c',
-                      'src/core/iomgr/iomgr_posix.c',
-                      'src/core/iomgr/iomgr_windows.c',
-                      'src/core/iomgr/pollset_multipoller_with_epoll.c',
-                      'src/core/iomgr/pollset_multipoller_with_poll_posix.c',
-                      'src/core/iomgr/pollset_posix.c',
-                      'src/core/iomgr/pollset_set_posix.c',
-                      'src/core/iomgr/pollset_set_windows.c',
-                      'src/core/iomgr/pollset_windows.c',
-                      'src/core/iomgr/resolve_address_posix.c',
-                      'src/core/iomgr/resolve_address_windows.c',
-                      'src/core/iomgr/sockaddr_utils.c',
-                      'src/core/iomgr/socket_utils_common_posix.c',
-                      'src/core/iomgr/socket_utils_linux.c',
-                      'src/core/iomgr/socket_utils_posix.c',
-                      'src/core/iomgr/socket_windows.c',
-                      'src/core/iomgr/tcp_client_posix.c',
-                      'src/core/iomgr/tcp_client_windows.c',
-                      'src/core/iomgr/tcp_posix.c',
-                      'src/core/iomgr/tcp_server_posix.c',
-                      'src/core/iomgr/tcp_server_windows.c',
-                      'src/core/iomgr/tcp_windows.c',
-                      'src/core/iomgr/time_averaged_stats.c',
-                      'src/core/iomgr/timer.c',
-                      'src/core/iomgr/timer_heap.c',
-                      'src/core/iomgr/udp_server.c',
-                      'src/core/iomgr/unix_sockets_posix.c',
-                      'src/core/iomgr/unix_sockets_posix_noop.c',
-                      'src/core/iomgr/wakeup_fd_eventfd.c',
-                      'src/core/iomgr/wakeup_fd_nospecial.c',
-                      'src/core/iomgr/wakeup_fd_pipe.c',
-                      'src/core/iomgr/wakeup_fd_posix.c',
-                      'src/core/iomgr/workqueue_posix.c',
-                      'src/core/iomgr/workqueue_windows.c',
-                      'src/core/json/json.c',
-                      'src/core/json/json_reader.c',
-                      'src/core/json/json_string.c',
-                      'src/core/json/json_writer.c',
-                      'src/core/proto/grpc/lb/v0/load_balancer.pb.c',
-                      'src/core/surface/alarm.c',
-                      'src/core/surface/api_trace.c',
-                      'src/core/surface/byte_buffer.c',
-                      'src/core/surface/byte_buffer_reader.c',
-                      'src/core/surface/call.c',
-                      'src/core/surface/call_details.c',
-                      'src/core/surface/call_log_batch.c',
-                      'src/core/surface/channel.c',
-                      'src/core/surface/channel_connectivity.c',
-                      'src/core/surface/channel_create.c',
-                      'src/core/surface/channel_init.c',
-                      'src/core/surface/channel_ping.c',
-                      'src/core/surface/channel_stack_type.c',
-                      'src/core/surface/completion_queue.c',
-                      'src/core/surface/event_string.c',
-                      'src/core/surface/init.c',
-                      'src/core/surface/lame_client.c',
-                      'src/core/surface/metadata_array.c',
-                      'src/core/surface/server.c',
-                      'src/core/surface/server_chttp2.c',
-                      'src/core/surface/validate_metadata.c',
-                      'src/core/surface/version.c',
-                      'src/core/transport/byte_stream.c',
-                      'src/core/transport/chttp2/alpn.c',
-                      'src/core/transport/chttp2/bin_encoder.c',
-                      'src/core/transport/chttp2/frame_data.c',
-                      'src/core/transport/chttp2/frame_goaway.c',
-                      'src/core/transport/chttp2/frame_ping.c',
-                      'src/core/transport/chttp2/frame_rst_stream.c',
-                      'src/core/transport/chttp2/frame_settings.c',
-                      'src/core/transport/chttp2/frame_window_update.c',
-                      'src/core/transport/chttp2/hpack_encoder.c',
-                      'src/core/transport/chttp2/hpack_parser.c',
-                      'src/core/transport/chttp2/hpack_table.c',
-                      'src/core/transport/chttp2/huffsyms.c',
-                      'src/core/transport/chttp2/incoming_metadata.c',
-                      'src/core/transport/chttp2/parsing.c',
-                      'src/core/transport/chttp2/status_conversion.c',
-                      'src/core/transport/chttp2/stream_lists.c',
-                      'src/core/transport/chttp2/stream_map.c',
-                      'src/core/transport/chttp2/timeout_encoding.c',
-                      'src/core/transport/chttp2/varint.c',
-                      'src/core/transport/chttp2/writing.c',
-                      'src/core/transport/chttp2_transport.c',
-                      'src/core/transport/connectivity_state.c',
-                      'src/core/transport/metadata.c',
-                      'src/core/transport/metadata_batch.c',
-                      'src/core/transport/static_metadata.c',
-                      'src/core/transport/transport.c',
-                      'src/core/transport/transport_op_string.c',
-                      'src/core/http/httpcli_security_connector.c',
-                      'src/core/security/b64.c',
-                      'src/core/security/client_auth_filter.c',
-                      'src/core/security/credentials.c',
-                      'src/core/security/credentials_metadata.c',
-                      'src/core/security/credentials_posix.c',
-                      'src/core/security/credentials_win32.c',
-                      'src/core/security/google_default_credentials.c',
-                      'src/core/security/handshake.c',
-                      'src/core/security/json_token.c',
-                      'src/core/security/jwt_verifier.c',
-                      'src/core/security/secure_endpoint.c',
-                      'src/core/security/security_connector.c',
-                      'src/core/security/security_context.c',
-                      'src/core/security/server_auth_filter.c',
-                      'src/core/security/server_secure_chttp2.c',
-                      'src/core/surface/init_secure.c',
-                      'src/core/surface/secure_channel_create.c',
-                      'src/core/tsi/fake_transport_security.c',
-                      'src/core/tsi/ssl_transport_security.c',
-                      'src/core/tsi/transport_security.c',
-                      'src/core/census/context.c',
-                      'src/core/census/initialize.c',
-                      'src/core/census/mlog.c',
-                      'src/core/census/operation.c',
-                      'src/core/census/placeholders.c',
-                      'src/core/census/tracing.c',
+                      'src/core/lib/census/grpc_context.c',
+                      'src/core/lib/census/grpc_filter.c',
+                      'src/core/lib/census/grpc_plugin.c',
+                      'src/core/lib/channel/channel_args.c',
+                      'src/core/lib/channel/channel_stack.c',
+                      'src/core/lib/channel/channel_stack_builder.c',
+                      'src/core/lib/channel/client_channel.c',
+                      'src/core/lib/channel/compress_filter.c',
+                      'src/core/lib/channel/connected_channel.c',
+                      'src/core/lib/channel/http_client_filter.c',
+                      'src/core/lib/channel/http_server_filter.c',
+                      'src/core/lib/channel/subchannel_call_holder.c',
+                      'src/core/lib/client_config/client_config.c',
+                      'src/core/lib/client_config/connector.c',
+                      'src/core/lib/client_config/default_initial_connect_string.c',
+                      'src/core/lib/client_config/initial_connect_string.c',
+                      'src/core/lib/client_config/lb_policies/load_balancer_api.c',
+                      'src/core/lib/client_config/lb_policies/pick_first.c',
+                      'src/core/lib/client_config/lb_policies/round_robin.c',
+                      'src/core/lib/client_config/lb_policy.c',
+                      'src/core/lib/client_config/lb_policy_factory.c',
+                      'src/core/lib/client_config/lb_policy_registry.c',
+                      'src/core/lib/client_config/resolver.c',
+                      'src/core/lib/client_config/resolver_factory.c',
+                      'src/core/lib/client_config/resolver_registry.c',
+                      'src/core/lib/client_config/resolvers/dns_resolver.c',
+                      'src/core/lib/client_config/resolvers/sockaddr_resolver.c',
+                      'src/core/lib/client_config/subchannel.c',
+                      'src/core/lib/client_config/subchannel_factory.c',
+                      'src/core/lib/client_config/subchannel_index.c',
+                      'src/core/lib/client_config/uri_parser.c',
+                      'src/core/lib/compression/compression_algorithm.c',
+                      'src/core/lib/compression/message_compress.c',
+                      'src/core/lib/debug/trace.c',
+                      'src/core/lib/http/format_request.c',
+                      'src/core/lib/http/httpcli.c',
+                      'src/core/lib/http/parser.c',
+                      'src/core/lib/iomgr/closure.c',
+                      'src/core/lib/iomgr/endpoint.c',
+                      'src/core/lib/iomgr/endpoint_pair_posix.c',
+                      'src/core/lib/iomgr/endpoint_pair_windows.c',
+                      'src/core/lib/iomgr/exec_ctx.c',
+                      'src/core/lib/iomgr/executor.c',
+                      'src/core/lib/iomgr/fd_posix.c',
+                      'src/core/lib/iomgr/iocp_windows.c',
+                      'src/core/lib/iomgr/iomgr.c',
+                      'src/core/lib/iomgr/iomgr_posix.c',
+                      'src/core/lib/iomgr/iomgr_windows.c',
+                      'src/core/lib/iomgr/pollset_multipoller_with_epoll.c',
+                      'src/core/lib/iomgr/pollset_multipoller_with_poll_posix.c',
+                      'src/core/lib/iomgr/pollset_posix.c',
+                      'src/core/lib/iomgr/pollset_set_posix.c',
+                      'src/core/lib/iomgr/pollset_set_windows.c',
+                      'src/core/lib/iomgr/pollset_windows.c',
+                      'src/core/lib/iomgr/resolve_address_posix.c',
+                      'src/core/lib/iomgr/resolve_address_windows.c',
+                      'src/core/lib/iomgr/sockaddr_utils.c',
+                      'src/core/lib/iomgr/socket_utils_common_posix.c',
+                      'src/core/lib/iomgr/socket_utils_linux.c',
+                      'src/core/lib/iomgr/socket_utils_posix.c',
+                      'src/core/lib/iomgr/socket_windows.c',
+                      'src/core/lib/iomgr/tcp_client_posix.c',
+                      'src/core/lib/iomgr/tcp_client_windows.c',
+                      'src/core/lib/iomgr/tcp_posix.c',
+                      'src/core/lib/iomgr/tcp_server_posix.c',
+                      'src/core/lib/iomgr/tcp_server_windows.c',
+                      'src/core/lib/iomgr/tcp_windows.c',
+                      'src/core/lib/iomgr/time_averaged_stats.c',
+                      'src/core/lib/iomgr/timer.c',
+                      'src/core/lib/iomgr/timer_heap.c',
+                      'src/core/lib/iomgr/udp_server.c',
+                      'src/core/lib/iomgr/unix_sockets_posix.c',
+                      'src/core/lib/iomgr/unix_sockets_posix_noop.c',
+                      'src/core/lib/iomgr/wakeup_fd_eventfd.c',
+                      'src/core/lib/iomgr/wakeup_fd_nospecial.c',
+                      'src/core/lib/iomgr/wakeup_fd_pipe.c',
+                      'src/core/lib/iomgr/wakeup_fd_posix.c',
+                      'src/core/lib/iomgr/workqueue_posix.c',
+                      'src/core/lib/iomgr/workqueue_windows.c',
+                      'src/core/lib/json/json.c',
+                      'src/core/lib/json/json_reader.c',
+                      'src/core/lib/json/json_string.c',
+                      'src/core/lib/json/json_writer.c',
+                      'src/core/lib/proto/grpc/lb/v0/load_balancer.pb.c',
+                      'src/core/lib/surface/alarm.c',
+                      'src/core/lib/surface/api_trace.c',
+                      'src/core/lib/surface/byte_buffer.c',
+                      'src/core/lib/surface/byte_buffer_reader.c',
+                      'src/core/lib/surface/call.c',
+                      'src/core/lib/surface/call_details.c',
+                      'src/core/lib/surface/call_log_batch.c',
+                      'src/core/lib/surface/channel.c',
+                      'src/core/lib/surface/channel_connectivity.c',
+                      'src/core/lib/surface/channel_create.c',
+                      'src/core/lib/surface/channel_init.c',
+                      'src/core/lib/surface/channel_ping.c',
+                      'src/core/lib/surface/channel_stack_type.c',
+                      'src/core/lib/surface/completion_queue.c',
+                      'src/core/lib/surface/event_string.c',
+                      'src/core/lib/surface/init.c',
+                      'src/core/lib/surface/lame_client.c',
+                      'src/core/lib/surface/metadata_array.c',
+                      'src/core/lib/surface/server.c',
+                      'src/core/lib/surface/server_chttp2.c',
+                      'src/core/lib/surface/validate_metadata.c',
+                      'src/core/lib/surface/version.c',
+                      'src/core/lib/transport/byte_stream.c',
+                      'src/core/lib/transport/chttp2/alpn.c',
+                      'src/core/lib/transport/chttp2/bin_encoder.c',
+                      'src/core/lib/transport/chttp2/frame_data.c',
+                      'src/core/lib/transport/chttp2/frame_goaway.c',
+                      'src/core/lib/transport/chttp2/frame_ping.c',
+                      'src/core/lib/transport/chttp2/frame_rst_stream.c',
+                      'src/core/lib/transport/chttp2/frame_settings.c',
+                      'src/core/lib/transport/chttp2/frame_window_update.c',
+                      'src/core/lib/transport/chttp2/hpack_encoder.c',
+                      'src/core/lib/transport/chttp2/hpack_parser.c',
+                      'src/core/lib/transport/chttp2/hpack_table.c',
+                      'src/core/lib/transport/chttp2/huffsyms.c',
+                      'src/core/lib/transport/chttp2/incoming_metadata.c',
+                      'src/core/lib/transport/chttp2/parsing.c',
+                      'src/core/lib/transport/chttp2/status_conversion.c',
+                      'src/core/lib/transport/chttp2/stream_lists.c',
+                      'src/core/lib/transport/chttp2/stream_map.c',
+                      'src/core/lib/transport/chttp2/timeout_encoding.c',
+                      'src/core/lib/transport/chttp2/varint.c',
+                      'src/core/lib/transport/chttp2/writing.c',
+                      'src/core/lib/transport/chttp2_transport.c',
+                      'src/core/lib/transport/connectivity_state.c',
+                      'src/core/lib/transport/metadata.c',
+                      'src/core/lib/transport/metadata_batch.c',
+                      'src/core/lib/transport/static_metadata.c',
+                      'src/core/lib/transport/transport.c',
+                      'src/core/lib/transport/transport_op_string.c',
+                      'src/core/lib/http/httpcli_security_connector.c',
+                      'src/core/lib/security/b64.c',
+                      'src/core/lib/security/client_auth_filter.c',
+                      'src/core/lib/security/credentials.c',
+                      'src/core/lib/security/credentials_metadata.c',
+                      'src/core/lib/security/credentials_posix.c',
+                      'src/core/lib/security/credentials_win32.c',
+                      'src/core/lib/security/google_default_credentials.c',
+                      'src/core/lib/security/handshake.c',
+                      'src/core/lib/security/json_token.c',
+                      'src/core/lib/security/jwt_verifier.c',
+                      'src/core/lib/security/secure_endpoint.c',
+                      'src/core/lib/security/security_connector.c',
+                      'src/core/lib/security/security_context.c',
+                      'src/core/lib/security/server_auth_filter.c',
+                      'src/core/lib/security/server_secure_chttp2.c',
+                      'src/core/lib/surface/init_secure.c',
+                      'src/core/lib/surface/secure_channel_create.c',
+                      'src/core/lib/tsi/fake_transport_security.c',
+                      'src/core/lib/tsi/ssl_transport_security.c',
+                      'src/core/lib/tsi/transport_security.c',
+                      'src/core/lib/census/context.c',
+                      'src/core/lib/census/initialize.c',
+                      'src/core/lib/census/mlog.c',
+                      'src/core/lib/census/operation.c',
+                      'src/core/lib/census/placeholders.c',
+                      'src/core/lib/census/tracing.c',
                       'third_party/nanopb/pb_common.c',
                       'third_party/nanopb/pb_decode.c',
                       'third_party/nanopb/pb_encode.c'
 
-    ss.private_header_files = 'src/core/profiling/timers.h',
-                              'src/core/support/backoff.h',
-                              'src/core/support/block_annotate.h',
-                              'src/core/support/env.h',
-                              'src/core/support/load_file.h',
-                              'src/core/support/murmur_hash.h',
-                              'src/core/support/stack_lockfree.h',
-                              'src/core/support/string.h',
-                              'src/core/support/string_win32.h',
-                              'src/core/support/thd_internal.h',
-                              'src/core/support/time_precise.h',
-                              'src/core/support/tmpfile.h',
-                              'src/core/census/grpc_filter.h',
-                              'src/core/census/grpc_plugin.h',
-                              'src/core/channel/channel_args.h',
-                              'src/core/channel/channel_stack.h',
-                              'src/core/channel/channel_stack_builder.h',
-                              'src/core/channel/client_channel.h',
-                              'src/core/channel/compress_filter.h',
-                              'src/core/channel/connected_channel.h',
-                              'src/core/channel/context.h',
-                              'src/core/channel/http_client_filter.h',
-                              'src/core/channel/http_server_filter.h',
-                              'src/core/channel/subchannel_call_holder.h',
-                              'src/core/client_config/client_config.h',
-                              'src/core/client_config/connector.h',
-                              'src/core/client_config/initial_connect_string.h',
-                              'src/core/client_config/lb_policies/load_balancer_api.h',
-                              'src/core/client_config/lb_policies/pick_first.h',
-                              'src/core/client_config/lb_policies/round_robin.h',
-                              'src/core/client_config/lb_policy.h',
-                              'src/core/client_config/lb_policy_factory.h',
-                              'src/core/client_config/lb_policy_registry.h',
-                              'src/core/client_config/resolver.h',
-                              'src/core/client_config/resolver_factory.h',
-                              'src/core/client_config/resolver_registry.h',
-                              'src/core/client_config/resolvers/dns_resolver.h',
-                              'src/core/client_config/resolvers/sockaddr_resolver.h',
-                              'src/core/client_config/subchannel.h',
-                              'src/core/client_config/subchannel_factory.h',
-                              'src/core/client_config/subchannel_index.h',
-                              'src/core/client_config/uri_parser.h',
-                              'src/core/compression/algorithm_metadata.h',
-                              'src/core/compression/message_compress.h',
-                              'src/core/debug/trace.h',
-                              'src/core/http/format_request.h',
-                              'src/core/http/httpcli.h',
-                              'src/core/http/parser.h',
-                              'src/core/iomgr/closure.h',
-                              'src/core/iomgr/endpoint.h',
-                              'src/core/iomgr/endpoint_pair.h',
-                              'src/core/iomgr/exec_ctx.h',
-                              'src/core/iomgr/executor.h',
-                              'src/core/iomgr/fd_posix.h',
-                              'src/core/iomgr/iocp_windows.h',
-                              'src/core/iomgr/iomgr.h',
-                              'src/core/iomgr/iomgr_internal.h',
-                              'src/core/iomgr/iomgr_posix.h',
-                              'src/core/iomgr/pollset.h',
-                              'src/core/iomgr/pollset_posix.h',
-                              'src/core/iomgr/pollset_set.h',
-                              'src/core/iomgr/pollset_set_posix.h',
-                              'src/core/iomgr/pollset_set_windows.h',
-                              'src/core/iomgr/pollset_windows.h',
-                              'src/core/iomgr/resolve_address.h',
-                              'src/core/iomgr/sockaddr.h',
-                              'src/core/iomgr/sockaddr_posix.h',
-                              'src/core/iomgr/sockaddr_utils.h',
-                              'src/core/iomgr/sockaddr_win32.h',
-                              'src/core/iomgr/socket_utils_posix.h',
-                              'src/core/iomgr/socket_windows.h',
-                              'src/core/iomgr/tcp_client.h',
-                              'src/core/iomgr/tcp_posix.h',
-                              'src/core/iomgr/tcp_server.h',
-                              'src/core/iomgr/tcp_windows.h',
-                              'src/core/iomgr/time_averaged_stats.h',
-                              'src/core/iomgr/timer.h',
-                              'src/core/iomgr/timer_heap.h',
-                              'src/core/iomgr/udp_server.h',
-                              'src/core/iomgr/unix_sockets_posix.h',
-                              'src/core/iomgr/wakeup_fd_pipe.h',
-                              'src/core/iomgr/wakeup_fd_posix.h',
-                              'src/core/iomgr/workqueue.h',
-                              'src/core/iomgr/workqueue_posix.h',
-                              'src/core/iomgr/workqueue_windows.h',
-                              'src/core/json/json.h',
-                              'src/core/json/json_common.h',
-                              'src/core/json/json_reader.h',
-                              'src/core/json/json_writer.h',
-                              'src/core/proto/grpc/lb/v0/load_balancer.pb.h',
-                              'src/core/statistics/census_interface.h',
-                              'src/core/statistics/census_rpc_stats.h',
-                              'src/core/surface/api_trace.h',
-                              'src/core/surface/call.h',
-                              'src/core/surface/call_test_only.h',
-                              'src/core/surface/channel.h',
-                              'src/core/surface/channel_init.h',
-                              'src/core/surface/channel_stack_type.h',
-                              'src/core/surface/completion_queue.h',
-                              'src/core/surface/event_string.h',
-                              'src/core/surface/init.h',
-                              'src/core/surface/lame_client.h',
-                              'src/core/surface/server.h',
-                              'src/core/surface/surface_trace.h',
-                              'src/core/transport/byte_stream.h',
-                              'src/core/transport/chttp2/alpn.h',
-                              'src/core/transport/chttp2/bin_encoder.h',
-                              'src/core/transport/chttp2/frame.h',
-                              'src/core/transport/chttp2/frame_data.h',
-                              'src/core/transport/chttp2/frame_goaway.h',
-                              'src/core/transport/chttp2/frame_ping.h',
-                              'src/core/transport/chttp2/frame_rst_stream.h',
-                              'src/core/transport/chttp2/frame_settings.h',
-                              'src/core/transport/chttp2/frame_window_update.h',
-                              'src/core/transport/chttp2/hpack_encoder.h',
-                              'src/core/transport/chttp2/hpack_parser.h',
-                              'src/core/transport/chttp2/hpack_table.h',
-                              'src/core/transport/chttp2/http2_errors.h',
-                              'src/core/transport/chttp2/huffsyms.h',
-                              'src/core/transport/chttp2/incoming_metadata.h',
-                              'src/core/transport/chttp2/internal.h',
-                              'src/core/transport/chttp2/status_conversion.h',
-                              'src/core/transport/chttp2/stream_map.h',
-                              'src/core/transport/chttp2/timeout_encoding.h',
-                              'src/core/transport/chttp2/varint.h',
-                              'src/core/transport/chttp2_transport.h',
-                              'src/core/transport/connectivity_state.h',
-                              'src/core/transport/metadata.h',
-                              'src/core/transport/metadata_batch.h',
-                              'src/core/transport/static_metadata.h',
-                              'src/core/transport/transport.h',
-                              'src/core/transport/transport_impl.h',
-                              'src/core/security/auth_filters.h',
-                              'src/core/security/b64.h',
-                              'src/core/security/credentials.h',
-                              'src/core/security/handshake.h',
-                              'src/core/security/json_token.h',
-                              'src/core/security/jwt_verifier.h',
-                              'src/core/security/secure_endpoint.h',
-                              'src/core/security/security_connector.h',
-                              'src/core/security/security_context.h',
-                              'src/core/tsi/fake_transport_security.h',
-                              'src/core/tsi/ssl_transport_security.h',
-                              'src/core/tsi/ssl_types.h',
-                              'src/core/tsi/transport_security.h',
-                              'src/core/tsi/transport_security_interface.h',
-                              'src/core/census/aggregation.h',
-                              'src/core/census/mlog.h',
-                              'src/core/census/rpc_metric_id.h',
+    ss.private_header_files = 'src/core/lib/profiling/timers.h',
+                              'src/core/lib/support/backoff.h',
+                              'src/core/lib/support/block_annotate.h',
+                              'src/core/lib/support/env.h',
+                              'src/core/lib/support/load_file.h',
+                              'src/core/lib/support/murmur_hash.h',
+                              'src/core/lib/support/stack_lockfree.h',
+                              'src/core/lib/support/string.h',
+                              'src/core/lib/support/string_win32.h',
+                              'src/core/lib/support/thd_internal.h',
+                              'src/core/lib/support/time_precise.h',
+                              'src/core/lib/support/tmpfile.h',
+                              'src/core/lib/census/grpc_filter.h',
+                              'src/core/lib/census/grpc_plugin.h',
+                              'src/core/lib/channel/channel_args.h',
+                              'src/core/lib/channel/channel_stack.h',
+                              'src/core/lib/channel/channel_stack_builder.h',
+                              'src/core/lib/channel/client_channel.h',
+                              'src/core/lib/channel/compress_filter.h',
+                              'src/core/lib/channel/connected_channel.h',
+                              'src/core/lib/channel/context.h',
+                              'src/core/lib/channel/http_client_filter.h',
+                              'src/core/lib/channel/http_server_filter.h',
+                              'src/core/lib/channel/subchannel_call_holder.h',
+                              'src/core/lib/client_config/client_config.h',
+                              'src/core/lib/client_config/connector.h',
+                              'src/core/lib/client_config/initial_connect_string.h',
+                              'src/core/lib/client_config/lb_policies/load_balancer_api.h',
+                              'src/core/lib/client_config/lb_policies/pick_first.h',
+                              'src/core/lib/client_config/lb_policies/round_robin.h',
+                              'src/core/lib/client_config/lb_policy.h',
+                              'src/core/lib/client_config/lb_policy_factory.h',
+                              'src/core/lib/client_config/lb_policy_registry.h',
+                              'src/core/lib/client_config/resolver.h',
+                              'src/core/lib/client_config/resolver_factory.h',
+                              'src/core/lib/client_config/resolver_registry.h',
+                              'src/core/lib/client_config/resolvers/dns_resolver.h',
+                              'src/core/lib/client_config/resolvers/sockaddr_resolver.h',
+                              'src/core/lib/client_config/subchannel.h',
+                              'src/core/lib/client_config/subchannel_factory.h',
+                              'src/core/lib/client_config/subchannel_index.h',
+                              'src/core/lib/client_config/uri_parser.h',
+                              'src/core/lib/compression/algorithm_metadata.h',
+                              'src/core/lib/compression/message_compress.h',
+                              'src/core/lib/debug/trace.h',
+                              'src/core/lib/http/format_request.h',
+                              'src/core/lib/http/httpcli.h',
+                              'src/core/lib/http/parser.h',
+                              'src/core/lib/iomgr/closure.h',
+                              'src/core/lib/iomgr/endpoint.h',
+                              'src/core/lib/iomgr/endpoint_pair.h',
+                              'src/core/lib/iomgr/exec_ctx.h',
+                              'src/core/lib/iomgr/executor.h',
+                              'src/core/lib/iomgr/fd_posix.h',
+                              'src/core/lib/iomgr/iocp_windows.h',
+                              'src/core/lib/iomgr/iomgr.h',
+                              'src/core/lib/iomgr/iomgr_internal.h',
+                              'src/core/lib/iomgr/iomgr_posix.h',
+                              'src/core/lib/iomgr/pollset.h',
+                              'src/core/lib/iomgr/pollset_posix.h',
+                              'src/core/lib/iomgr/pollset_set.h',
+                              'src/core/lib/iomgr/pollset_set_posix.h',
+                              'src/core/lib/iomgr/pollset_set_windows.h',
+                              'src/core/lib/iomgr/pollset_windows.h',
+                              'src/core/lib/iomgr/resolve_address.h',
+                              'src/core/lib/iomgr/sockaddr.h',
+                              'src/core/lib/iomgr/sockaddr_posix.h',
+                              'src/core/lib/iomgr/sockaddr_utils.h',
+                              'src/core/lib/iomgr/sockaddr_win32.h',
+                              'src/core/lib/iomgr/socket_utils_posix.h',
+                              'src/core/lib/iomgr/socket_windows.h',
+                              'src/core/lib/iomgr/tcp_client.h',
+                              'src/core/lib/iomgr/tcp_posix.h',
+                              'src/core/lib/iomgr/tcp_server.h',
+                              'src/core/lib/iomgr/tcp_windows.h',
+                              'src/core/lib/iomgr/time_averaged_stats.h',
+                              'src/core/lib/iomgr/timer.h',
+                              'src/core/lib/iomgr/timer_heap.h',
+                              'src/core/lib/iomgr/udp_server.h',
+                              'src/core/lib/iomgr/unix_sockets_posix.h',
+                              'src/core/lib/iomgr/wakeup_fd_pipe.h',
+                              'src/core/lib/iomgr/wakeup_fd_posix.h',
+                              'src/core/lib/iomgr/workqueue.h',
+                              'src/core/lib/iomgr/workqueue_posix.h',
+                              'src/core/lib/iomgr/workqueue_windows.h',
+                              'src/core/lib/json/json.h',
+                              'src/core/lib/json/json_common.h',
+                              'src/core/lib/json/json_reader.h',
+                              'src/core/lib/json/json_writer.h',
+                              'src/core/lib/proto/grpc/lb/v0/load_balancer.pb.h',
+                              'src/core/lib/statistics/census_interface.h',
+                              'src/core/lib/statistics/census_rpc_stats.h',
+                              'src/core/lib/surface/api_trace.h',
+                              'src/core/lib/surface/call.h',
+                              'src/core/lib/surface/call_test_only.h',
+                              'src/core/lib/surface/channel.h',
+                              'src/core/lib/surface/channel_init.h',
+                              'src/core/lib/surface/channel_stack_type.h',
+                              'src/core/lib/surface/completion_queue.h',
+                              'src/core/lib/surface/event_string.h',
+                              'src/core/lib/surface/init.h',
+                              'src/core/lib/surface/lame_client.h',
+                              'src/core/lib/surface/server.h',
+                              'src/core/lib/surface/surface_trace.h',
+                              'src/core/lib/transport/byte_stream.h',
+                              'src/core/lib/transport/chttp2/alpn.h',
+                              'src/core/lib/transport/chttp2/bin_encoder.h',
+                              'src/core/lib/transport/chttp2/frame.h',
+                              'src/core/lib/transport/chttp2/frame_data.h',
+                              'src/core/lib/transport/chttp2/frame_goaway.h',
+                              'src/core/lib/transport/chttp2/frame_ping.h',
+                              'src/core/lib/transport/chttp2/frame_rst_stream.h',
+                              'src/core/lib/transport/chttp2/frame_settings.h',
+                              'src/core/lib/transport/chttp2/frame_window_update.h',
+                              'src/core/lib/transport/chttp2/hpack_encoder.h',
+                              'src/core/lib/transport/chttp2/hpack_parser.h',
+                              'src/core/lib/transport/chttp2/hpack_table.h',
+                              'src/core/lib/transport/chttp2/http2_errors.h',
+                              'src/core/lib/transport/chttp2/huffsyms.h',
+                              'src/core/lib/transport/chttp2/incoming_metadata.h',
+                              'src/core/lib/transport/chttp2/internal.h',
+                              'src/core/lib/transport/chttp2/status_conversion.h',
+                              'src/core/lib/transport/chttp2/stream_map.h',
+                              'src/core/lib/transport/chttp2/timeout_encoding.h',
+                              'src/core/lib/transport/chttp2/varint.h',
+                              'src/core/lib/transport/chttp2_transport.h',
+                              'src/core/lib/transport/connectivity_state.h',
+                              'src/core/lib/transport/metadata.h',
+                              'src/core/lib/transport/metadata_batch.h',
+                              'src/core/lib/transport/static_metadata.h',
+                              'src/core/lib/transport/transport.h',
+                              'src/core/lib/transport/transport_impl.h',
+                              'src/core/lib/security/auth_filters.h',
+                              'src/core/lib/security/b64.h',
+                              'src/core/lib/security/credentials.h',
+                              'src/core/lib/security/handshake.h',
+                              'src/core/lib/security/json_token.h',
+                              'src/core/lib/security/jwt_verifier.h',
+                              'src/core/lib/security/secure_endpoint.h',
+                              'src/core/lib/security/security_connector.h',
+                              'src/core/lib/security/security_context.h',
+                              'src/core/lib/tsi/fake_transport_security.h',
+                              'src/core/lib/tsi/ssl_transport_security.h',
+                              'src/core/lib/tsi/ssl_types.h',
+                              'src/core/lib/tsi/transport_security.h',
+                              'src/core/lib/tsi/transport_security_interface.h',
+                              'src/core/lib/census/aggregation.h',
+                              'src/core/lib/census/mlog.h',
+                              'src/core/lib/census/rpc_metric_id.h',
                               'third_party/nanopb/pb.h',
                               'third_party/nanopb/pb_common.h',
                               'third_party/nanopb/pb_decode.h',
diff --git a/grpc.gemspec b/grpc.gemspec
index eeda035..aa52890 100755
--- a/grpc.gemspec
+++ b/grpc.gemspec
@@ -88,62 +88,62 @@
   s.files += %w( include/grpc/impl/codegen/sync_posix.h )
   s.files += %w( include/grpc/impl/codegen/sync_win32.h )
   s.files += %w( include/grpc/impl/codegen/time.h )
-  s.files += %w( src/core/profiling/timers.h )
-  s.files += %w( src/core/support/backoff.h )
-  s.files += %w( src/core/support/block_annotate.h )
-  s.files += %w( src/core/support/env.h )
-  s.files += %w( src/core/support/load_file.h )
-  s.files += %w( src/core/support/murmur_hash.h )
-  s.files += %w( src/core/support/stack_lockfree.h )
-  s.files += %w( src/core/support/string.h )
-  s.files += %w( src/core/support/string_win32.h )
-  s.files += %w( src/core/support/thd_internal.h )
-  s.files += %w( src/core/support/time_precise.h )
-  s.files += %w( src/core/support/tmpfile.h )
-  s.files += %w( src/core/profiling/basic_timers.c )
-  s.files += %w( src/core/profiling/stap_timers.c )
-  s.files += %w( src/core/support/alloc.c )
-  s.files += %w( src/core/support/avl.c )
-  s.files += %w( src/core/support/backoff.c )
-  s.files += %w( src/core/support/cmdline.c )
-  s.files += %w( src/core/support/cpu_iphone.c )
-  s.files += %w( src/core/support/cpu_linux.c )
-  s.files += %w( src/core/support/cpu_posix.c )
-  s.files += %w( src/core/support/cpu_windows.c )
-  s.files += %w( src/core/support/env_linux.c )
-  s.files += %w( src/core/support/env_posix.c )
-  s.files += %w( src/core/support/env_win32.c )
-  s.files += %w( src/core/support/histogram.c )
-  s.files += %w( src/core/support/host_port.c )
-  s.files += %w( src/core/support/load_file.c )
-  s.files += %w( src/core/support/log.c )
-  s.files += %w( src/core/support/log_android.c )
-  s.files += %w( src/core/support/log_linux.c )
-  s.files += %w( src/core/support/log_posix.c )
-  s.files += %w( src/core/support/log_win32.c )
-  s.files += %w( src/core/support/murmur_hash.c )
-  s.files += %w( src/core/support/slice.c )
-  s.files += %w( src/core/support/slice_buffer.c )
-  s.files += %w( src/core/support/stack_lockfree.c )
-  s.files += %w( src/core/support/string.c )
-  s.files += %w( src/core/support/string_posix.c )
-  s.files += %w( src/core/support/string_win32.c )
-  s.files += %w( src/core/support/subprocess_posix.c )
-  s.files += %w( src/core/support/subprocess_windows.c )
-  s.files += %w( src/core/support/sync.c )
-  s.files += %w( src/core/support/sync_posix.c )
-  s.files += %w( src/core/support/sync_win32.c )
-  s.files += %w( src/core/support/thd.c )
-  s.files += %w( src/core/support/thd_posix.c )
-  s.files += %w( src/core/support/thd_win32.c )
-  s.files += %w( src/core/support/time.c )
-  s.files += %w( src/core/support/time_posix.c )
-  s.files += %w( src/core/support/time_precise.c )
-  s.files += %w( src/core/support/time_win32.c )
-  s.files += %w( src/core/support/tls_pthread.c )
-  s.files += %w( src/core/support/tmpfile_posix.c )
-  s.files += %w( src/core/support/tmpfile_win32.c )
-  s.files += %w( src/core/support/wrap_memcpy.c )
+  s.files += %w( src/core/lib/profiling/timers.h )
+  s.files += %w( src/core/lib/support/backoff.h )
+  s.files += %w( src/core/lib/support/block_annotate.h )
+  s.files += %w( src/core/lib/support/env.h )
+  s.files += %w( src/core/lib/support/load_file.h )
+  s.files += %w( src/core/lib/support/murmur_hash.h )
+  s.files += %w( src/core/lib/support/stack_lockfree.h )
+  s.files += %w( src/core/lib/support/string.h )
+  s.files += %w( src/core/lib/support/string_win32.h )
+  s.files += %w( src/core/lib/support/thd_internal.h )
+  s.files += %w( src/core/lib/support/time_precise.h )
+  s.files += %w( src/core/lib/support/tmpfile.h )
+  s.files += %w( src/core/lib/profiling/basic_timers.c )
+  s.files += %w( src/core/lib/profiling/stap_timers.c )
+  s.files += %w( src/core/lib/support/alloc.c )
+  s.files += %w( src/core/lib/support/avl.c )
+  s.files += %w( src/core/lib/support/backoff.c )
+  s.files += %w( src/core/lib/support/cmdline.c )
+  s.files += %w( src/core/lib/support/cpu_iphone.c )
+  s.files += %w( src/core/lib/support/cpu_linux.c )
+  s.files += %w( src/core/lib/support/cpu_posix.c )
+  s.files += %w( src/core/lib/support/cpu_windows.c )
+  s.files += %w( src/core/lib/support/env_linux.c )
+  s.files += %w( src/core/lib/support/env_posix.c )
+  s.files += %w( src/core/lib/support/env_win32.c )
+  s.files += %w( src/core/lib/support/histogram.c )
+  s.files += %w( src/core/lib/support/host_port.c )
+  s.files += %w( src/core/lib/support/load_file.c )
+  s.files += %w( src/core/lib/support/log.c )
+  s.files += %w( src/core/lib/support/log_android.c )
+  s.files += %w( src/core/lib/support/log_linux.c )
+  s.files += %w( src/core/lib/support/log_posix.c )
+  s.files += %w( src/core/lib/support/log_win32.c )
+  s.files += %w( src/core/lib/support/murmur_hash.c )
+  s.files += %w( src/core/lib/support/slice.c )
+  s.files += %w( src/core/lib/support/slice_buffer.c )
+  s.files += %w( src/core/lib/support/stack_lockfree.c )
+  s.files += %w( src/core/lib/support/string.c )
+  s.files += %w( src/core/lib/support/string_posix.c )
+  s.files += %w( src/core/lib/support/string_win32.c )
+  s.files += %w( src/core/lib/support/subprocess_posix.c )
+  s.files += %w( src/core/lib/support/subprocess_windows.c )
+  s.files += %w( src/core/lib/support/sync.c )
+  s.files += %w( src/core/lib/support/sync_posix.c )
+  s.files += %w( src/core/lib/support/sync_win32.c )
+  s.files += %w( src/core/lib/support/thd.c )
+  s.files += %w( src/core/lib/support/thd_posix.c )
+  s.files += %w( src/core/lib/support/thd_win32.c )
+  s.files += %w( src/core/lib/support/time.c )
+  s.files += %w( src/core/lib/support/time_posix.c )
+  s.files += %w( src/core/lib/support/time_precise.c )
+  s.files += %w( src/core/lib/support/time_win32.c )
+  s.files += %w( src/core/lib/support/tls_pthread.c )
+  s.files += %w( src/core/lib/support/tmpfile_posix.c )
+  s.files += %w( src/core/lib/support/tmpfile_win32.c )
+  s.files += %w( src/core/lib/support/wrap_memcpy.c )
   s.files += %w( include/grpc/grpc_security.h )
   s.files += %w( include/grpc/byte_buffer.h )
   s.files += %w( include/grpc/byte_buffer_reader.h )
@@ -157,308 +157,308 @@
   s.files += %w( include/grpc/impl/codegen/propagation_bits.h )
   s.files += %w( include/grpc/impl/codegen/status.h )
   s.files += %w( include/grpc/census.h )
-  s.files += %w( src/core/census/grpc_filter.h )
-  s.files += %w( src/core/census/grpc_plugin.h )
-  s.files += %w( src/core/channel/channel_args.h )
-  s.files += %w( src/core/channel/channel_stack.h )
-  s.files += %w( src/core/channel/channel_stack_builder.h )
-  s.files += %w( src/core/channel/client_channel.h )
-  s.files += %w( src/core/channel/compress_filter.h )
-  s.files += %w( src/core/channel/connected_channel.h )
-  s.files += %w( src/core/channel/context.h )
-  s.files += %w( src/core/channel/http_client_filter.h )
-  s.files += %w( src/core/channel/http_server_filter.h )
-  s.files += %w( src/core/channel/subchannel_call_holder.h )
-  s.files += %w( src/core/client_config/client_config.h )
-  s.files += %w( src/core/client_config/connector.h )
-  s.files += %w( src/core/client_config/initial_connect_string.h )
-  s.files += %w( src/core/client_config/lb_policies/load_balancer_api.h )
-  s.files += %w( src/core/client_config/lb_policies/pick_first.h )
-  s.files += %w( src/core/client_config/lb_policies/round_robin.h )
-  s.files += %w( src/core/client_config/lb_policy.h )
-  s.files += %w( src/core/client_config/lb_policy_factory.h )
-  s.files += %w( src/core/client_config/lb_policy_registry.h )
-  s.files += %w( src/core/client_config/resolver.h )
-  s.files += %w( src/core/client_config/resolver_factory.h )
-  s.files += %w( src/core/client_config/resolver_registry.h )
-  s.files += %w( src/core/client_config/resolvers/dns_resolver.h )
-  s.files += %w( src/core/client_config/resolvers/sockaddr_resolver.h )
-  s.files += %w( src/core/client_config/subchannel.h )
-  s.files += %w( src/core/client_config/subchannel_factory.h )
-  s.files += %w( src/core/client_config/subchannel_index.h )
-  s.files += %w( src/core/client_config/uri_parser.h )
-  s.files += %w( src/core/compression/algorithm_metadata.h )
-  s.files += %w( src/core/compression/message_compress.h )
-  s.files += %w( src/core/debug/trace.h )
-  s.files += %w( src/core/http/format_request.h )
-  s.files += %w( src/core/http/httpcli.h )
-  s.files += %w( src/core/http/parser.h )
-  s.files += %w( src/core/iomgr/closure.h )
-  s.files += %w( src/core/iomgr/endpoint.h )
-  s.files += %w( src/core/iomgr/endpoint_pair.h )
-  s.files += %w( src/core/iomgr/exec_ctx.h )
-  s.files += %w( src/core/iomgr/executor.h )
-  s.files += %w( src/core/iomgr/fd_posix.h )
-  s.files += %w( src/core/iomgr/iocp_windows.h )
-  s.files += %w( src/core/iomgr/iomgr.h )
-  s.files += %w( src/core/iomgr/iomgr_internal.h )
-  s.files += %w( src/core/iomgr/iomgr_posix.h )
-  s.files += %w( src/core/iomgr/pollset.h )
-  s.files += %w( src/core/iomgr/pollset_posix.h )
-  s.files += %w( src/core/iomgr/pollset_set.h )
-  s.files += %w( src/core/iomgr/pollset_set_posix.h )
-  s.files += %w( src/core/iomgr/pollset_set_windows.h )
-  s.files += %w( src/core/iomgr/pollset_windows.h )
-  s.files += %w( src/core/iomgr/resolve_address.h )
-  s.files += %w( src/core/iomgr/sockaddr.h )
-  s.files += %w( src/core/iomgr/sockaddr_posix.h )
-  s.files += %w( src/core/iomgr/sockaddr_utils.h )
-  s.files += %w( src/core/iomgr/sockaddr_win32.h )
-  s.files += %w( src/core/iomgr/socket_utils_posix.h )
-  s.files += %w( src/core/iomgr/socket_windows.h )
-  s.files += %w( src/core/iomgr/tcp_client.h )
-  s.files += %w( src/core/iomgr/tcp_posix.h )
-  s.files += %w( src/core/iomgr/tcp_server.h )
-  s.files += %w( src/core/iomgr/tcp_windows.h )
-  s.files += %w( src/core/iomgr/time_averaged_stats.h )
-  s.files += %w( src/core/iomgr/timer.h )
-  s.files += %w( src/core/iomgr/timer_heap.h )
-  s.files += %w( src/core/iomgr/udp_server.h )
-  s.files += %w( src/core/iomgr/unix_sockets_posix.h )
-  s.files += %w( src/core/iomgr/wakeup_fd_pipe.h )
-  s.files += %w( src/core/iomgr/wakeup_fd_posix.h )
-  s.files += %w( src/core/iomgr/workqueue.h )
-  s.files += %w( src/core/iomgr/workqueue_posix.h )
-  s.files += %w( src/core/iomgr/workqueue_windows.h )
-  s.files += %w( src/core/json/json.h )
-  s.files += %w( src/core/json/json_common.h )
-  s.files += %w( src/core/json/json_reader.h )
-  s.files += %w( src/core/json/json_writer.h )
-  s.files += %w( src/core/proto/grpc/lb/v0/load_balancer.pb.h )
-  s.files += %w( src/core/statistics/census_interface.h )
-  s.files += %w( src/core/statistics/census_rpc_stats.h )
-  s.files += %w( src/core/surface/api_trace.h )
-  s.files += %w( src/core/surface/call.h )
-  s.files += %w( src/core/surface/call_test_only.h )
-  s.files += %w( src/core/surface/channel.h )
-  s.files += %w( src/core/surface/channel_init.h )
-  s.files += %w( src/core/surface/channel_stack_type.h )
-  s.files += %w( src/core/surface/completion_queue.h )
-  s.files += %w( src/core/surface/event_string.h )
-  s.files += %w( src/core/surface/init.h )
-  s.files += %w( src/core/surface/lame_client.h )
-  s.files += %w( src/core/surface/server.h )
-  s.files += %w( src/core/surface/surface_trace.h )
-  s.files += %w( src/core/transport/byte_stream.h )
-  s.files += %w( src/core/transport/chttp2/alpn.h )
-  s.files += %w( src/core/transport/chttp2/bin_encoder.h )
-  s.files += %w( src/core/transport/chttp2/frame.h )
-  s.files += %w( src/core/transport/chttp2/frame_data.h )
-  s.files += %w( src/core/transport/chttp2/frame_goaway.h )
-  s.files += %w( src/core/transport/chttp2/frame_ping.h )
-  s.files += %w( src/core/transport/chttp2/frame_rst_stream.h )
-  s.files += %w( src/core/transport/chttp2/frame_settings.h )
-  s.files += %w( src/core/transport/chttp2/frame_window_update.h )
-  s.files += %w( src/core/transport/chttp2/hpack_encoder.h )
-  s.files += %w( src/core/transport/chttp2/hpack_parser.h )
-  s.files += %w( src/core/transport/chttp2/hpack_table.h )
-  s.files += %w( src/core/transport/chttp2/http2_errors.h )
-  s.files += %w( src/core/transport/chttp2/huffsyms.h )
-  s.files += %w( src/core/transport/chttp2/incoming_metadata.h )
-  s.files += %w( src/core/transport/chttp2/internal.h )
-  s.files += %w( src/core/transport/chttp2/status_conversion.h )
-  s.files += %w( src/core/transport/chttp2/stream_map.h )
-  s.files += %w( src/core/transport/chttp2/timeout_encoding.h )
-  s.files += %w( src/core/transport/chttp2/varint.h )
-  s.files += %w( src/core/transport/chttp2_transport.h )
-  s.files += %w( src/core/transport/connectivity_state.h )
-  s.files += %w( src/core/transport/metadata.h )
-  s.files += %w( src/core/transport/metadata_batch.h )
-  s.files += %w( src/core/transport/static_metadata.h )
-  s.files += %w( src/core/transport/transport.h )
-  s.files += %w( src/core/transport/transport_impl.h )
-  s.files += %w( src/core/security/auth_filters.h )
-  s.files += %w( src/core/security/b64.h )
-  s.files += %w( src/core/security/credentials.h )
-  s.files += %w( src/core/security/handshake.h )
-  s.files += %w( src/core/security/json_token.h )
-  s.files += %w( src/core/security/jwt_verifier.h )
-  s.files += %w( src/core/security/secure_endpoint.h )
-  s.files += %w( src/core/security/security_connector.h )
-  s.files += %w( src/core/security/security_context.h )
-  s.files += %w( src/core/tsi/fake_transport_security.h )
-  s.files += %w( src/core/tsi/ssl_transport_security.h )
-  s.files += %w( src/core/tsi/ssl_types.h )
-  s.files += %w( src/core/tsi/transport_security.h )
-  s.files += %w( src/core/tsi/transport_security_interface.h )
-  s.files += %w( src/core/census/aggregation.h )
-  s.files += %w( src/core/census/mlog.h )
-  s.files += %w( src/core/census/rpc_metric_id.h )
+  s.files += %w( src/core/lib/census/grpc_filter.h )
+  s.files += %w( src/core/lib/census/grpc_plugin.h )
+  s.files += %w( src/core/lib/channel/channel_args.h )
+  s.files += %w( src/core/lib/channel/channel_stack.h )
+  s.files += %w( src/core/lib/channel/channel_stack_builder.h )
+  s.files += %w( src/core/lib/channel/client_channel.h )
+  s.files += %w( src/core/lib/channel/compress_filter.h )
+  s.files += %w( src/core/lib/channel/connected_channel.h )
+  s.files += %w( src/core/lib/channel/context.h )
+  s.files += %w( src/core/lib/channel/http_client_filter.h )
+  s.files += %w( src/core/lib/channel/http_server_filter.h )
+  s.files += %w( src/core/lib/channel/subchannel_call_holder.h )
+  s.files += %w( src/core/lib/client_config/client_config.h )
+  s.files += %w( src/core/lib/client_config/connector.h )
+  s.files += %w( src/core/lib/client_config/initial_connect_string.h )
+  s.files += %w( src/core/lib/client_config/lb_policies/load_balancer_api.h )
+  s.files += %w( src/core/lib/client_config/lb_policies/pick_first.h )
+  s.files += %w( src/core/lib/client_config/lb_policies/round_robin.h )
+  s.files += %w( src/core/lib/client_config/lb_policy.h )
+  s.files += %w( src/core/lib/client_config/lb_policy_factory.h )
+  s.files += %w( src/core/lib/client_config/lb_policy_registry.h )
+  s.files += %w( src/core/lib/client_config/resolver.h )
+  s.files += %w( src/core/lib/client_config/resolver_factory.h )
+  s.files += %w( src/core/lib/client_config/resolver_registry.h )
+  s.files += %w( src/core/lib/client_config/resolvers/dns_resolver.h )
+  s.files += %w( src/core/lib/client_config/resolvers/sockaddr_resolver.h )
+  s.files += %w( src/core/lib/client_config/subchannel.h )
+  s.files += %w( src/core/lib/client_config/subchannel_factory.h )
+  s.files += %w( src/core/lib/client_config/subchannel_index.h )
+  s.files += %w( src/core/lib/client_config/uri_parser.h )
+  s.files += %w( src/core/lib/compression/algorithm_metadata.h )
+  s.files += %w( src/core/lib/compression/message_compress.h )
+  s.files += %w( src/core/lib/debug/trace.h )
+  s.files += %w( src/core/lib/http/format_request.h )
+  s.files += %w( src/core/lib/http/httpcli.h )
+  s.files += %w( src/core/lib/http/parser.h )
+  s.files += %w( src/core/lib/iomgr/closure.h )
+  s.files += %w( src/core/lib/iomgr/endpoint.h )
+  s.files += %w( src/core/lib/iomgr/endpoint_pair.h )
+  s.files += %w( src/core/lib/iomgr/exec_ctx.h )
+  s.files += %w( src/core/lib/iomgr/executor.h )
+  s.files += %w( src/core/lib/iomgr/fd_posix.h )
+  s.files += %w( src/core/lib/iomgr/iocp_windows.h )
+  s.files += %w( src/core/lib/iomgr/iomgr.h )
+  s.files += %w( src/core/lib/iomgr/iomgr_internal.h )
+  s.files += %w( src/core/lib/iomgr/iomgr_posix.h )
+  s.files += %w( src/core/lib/iomgr/pollset.h )
+  s.files += %w( src/core/lib/iomgr/pollset_posix.h )
+  s.files += %w( src/core/lib/iomgr/pollset_set.h )
+  s.files += %w( src/core/lib/iomgr/pollset_set_posix.h )
+  s.files += %w( src/core/lib/iomgr/pollset_set_windows.h )
+  s.files += %w( src/core/lib/iomgr/pollset_windows.h )
+  s.files += %w( src/core/lib/iomgr/resolve_address.h )
+  s.files += %w( src/core/lib/iomgr/sockaddr.h )
+  s.files += %w( src/core/lib/iomgr/sockaddr_posix.h )
+  s.files += %w( src/core/lib/iomgr/sockaddr_utils.h )
+  s.files += %w( src/core/lib/iomgr/sockaddr_win32.h )
+  s.files += %w( src/core/lib/iomgr/socket_utils_posix.h )
+  s.files += %w( src/core/lib/iomgr/socket_windows.h )
+  s.files += %w( src/core/lib/iomgr/tcp_client.h )
+  s.files += %w( src/core/lib/iomgr/tcp_posix.h )
+  s.files += %w( src/core/lib/iomgr/tcp_server.h )
+  s.files += %w( src/core/lib/iomgr/tcp_windows.h )
+  s.files += %w( src/core/lib/iomgr/time_averaged_stats.h )
+  s.files += %w( src/core/lib/iomgr/timer.h )
+  s.files += %w( src/core/lib/iomgr/timer_heap.h )
+  s.files += %w( src/core/lib/iomgr/udp_server.h )
+  s.files += %w( src/core/lib/iomgr/unix_sockets_posix.h )
+  s.files += %w( src/core/lib/iomgr/wakeup_fd_pipe.h )
+  s.files += %w( src/core/lib/iomgr/wakeup_fd_posix.h )
+  s.files += %w( src/core/lib/iomgr/workqueue.h )
+  s.files += %w( src/core/lib/iomgr/workqueue_posix.h )
+  s.files += %w( src/core/lib/iomgr/workqueue_windows.h )
+  s.files += %w( src/core/lib/json/json.h )
+  s.files += %w( src/core/lib/json/json_common.h )
+  s.files += %w( src/core/lib/json/json_reader.h )
+  s.files += %w( src/core/lib/json/json_writer.h )
+  s.files += %w( src/core/lib/proto/grpc/lb/v0/load_balancer.pb.h )
+  s.files += %w( src/core/lib/statistics/census_interface.h )
+  s.files += %w( src/core/lib/statistics/census_rpc_stats.h )
+  s.files += %w( src/core/lib/surface/api_trace.h )
+  s.files += %w( src/core/lib/surface/call.h )
+  s.files += %w( src/core/lib/surface/call_test_only.h )
+  s.files += %w( src/core/lib/surface/channel.h )
+  s.files += %w( src/core/lib/surface/channel_init.h )
+  s.files += %w( src/core/lib/surface/channel_stack_type.h )
+  s.files += %w( src/core/lib/surface/completion_queue.h )
+  s.files += %w( src/core/lib/surface/event_string.h )
+  s.files += %w( src/core/lib/surface/init.h )
+  s.files += %w( src/core/lib/surface/lame_client.h )
+  s.files += %w( src/core/lib/surface/server.h )
+  s.files += %w( src/core/lib/surface/surface_trace.h )
+  s.files += %w( src/core/lib/transport/byte_stream.h )
+  s.files += %w( src/core/lib/transport/chttp2/alpn.h )
+  s.files += %w( src/core/lib/transport/chttp2/bin_encoder.h )
+  s.files += %w( src/core/lib/transport/chttp2/frame.h )
+  s.files += %w( src/core/lib/transport/chttp2/frame_data.h )
+  s.files += %w( src/core/lib/transport/chttp2/frame_goaway.h )
+  s.files += %w( src/core/lib/transport/chttp2/frame_ping.h )
+  s.files += %w( src/core/lib/transport/chttp2/frame_rst_stream.h )
+  s.files += %w( src/core/lib/transport/chttp2/frame_settings.h )
+  s.files += %w( src/core/lib/transport/chttp2/frame_window_update.h )
+  s.files += %w( src/core/lib/transport/chttp2/hpack_encoder.h )
+  s.files += %w( src/core/lib/transport/chttp2/hpack_parser.h )
+  s.files += %w( src/core/lib/transport/chttp2/hpack_table.h )
+  s.files += %w( src/core/lib/transport/chttp2/http2_errors.h )
+  s.files += %w( src/core/lib/transport/chttp2/huffsyms.h )
+  s.files += %w( src/core/lib/transport/chttp2/incoming_metadata.h )
+  s.files += %w( src/core/lib/transport/chttp2/internal.h )
+  s.files += %w( src/core/lib/transport/chttp2/status_conversion.h )
+  s.files += %w( src/core/lib/transport/chttp2/stream_map.h )
+  s.files += %w( src/core/lib/transport/chttp2/timeout_encoding.h )
+  s.files += %w( src/core/lib/transport/chttp2/varint.h )
+  s.files += %w( src/core/lib/transport/chttp2_transport.h )
+  s.files += %w( src/core/lib/transport/connectivity_state.h )
+  s.files += %w( src/core/lib/transport/metadata.h )
+  s.files += %w( src/core/lib/transport/metadata_batch.h )
+  s.files += %w( src/core/lib/transport/static_metadata.h )
+  s.files += %w( src/core/lib/transport/transport.h )
+  s.files += %w( src/core/lib/transport/transport_impl.h )
+  s.files += %w( src/core/lib/security/auth_filters.h )
+  s.files += %w( src/core/lib/security/b64.h )
+  s.files += %w( src/core/lib/security/credentials.h )
+  s.files += %w( src/core/lib/security/handshake.h )
+  s.files += %w( src/core/lib/security/json_token.h )
+  s.files += %w( src/core/lib/security/jwt_verifier.h )
+  s.files += %w( src/core/lib/security/secure_endpoint.h )
+  s.files += %w( src/core/lib/security/security_connector.h )
+  s.files += %w( src/core/lib/security/security_context.h )
+  s.files += %w( src/core/lib/tsi/fake_transport_security.h )
+  s.files += %w( src/core/lib/tsi/ssl_transport_security.h )
+  s.files += %w( src/core/lib/tsi/ssl_types.h )
+  s.files += %w( src/core/lib/tsi/transport_security.h )
+  s.files += %w( src/core/lib/tsi/transport_security_interface.h )
+  s.files += %w( src/core/lib/census/aggregation.h )
+  s.files += %w( src/core/lib/census/mlog.h )
+  s.files += %w( src/core/lib/census/rpc_metric_id.h )
   s.files += %w( third_party/nanopb/pb.h )
   s.files += %w( third_party/nanopb/pb_common.h )
   s.files += %w( third_party/nanopb/pb_decode.h )
   s.files += %w( third_party/nanopb/pb_encode.h )
-  s.files += %w( src/core/census/grpc_context.c )
-  s.files += %w( src/core/census/grpc_filter.c )
-  s.files += %w( src/core/census/grpc_plugin.c )
-  s.files += %w( src/core/channel/channel_args.c )
-  s.files += %w( src/core/channel/channel_stack.c )
-  s.files += %w( src/core/channel/channel_stack_builder.c )
-  s.files += %w( src/core/channel/client_channel.c )
-  s.files += %w( src/core/channel/compress_filter.c )
-  s.files += %w( src/core/channel/connected_channel.c )
-  s.files += %w( src/core/channel/http_client_filter.c )
-  s.files += %w( src/core/channel/http_server_filter.c )
-  s.files += %w( src/core/channel/subchannel_call_holder.c )
-  s.files += %w( src/core/client_config/client_config.c )
-  s.files += %w( src/core/client_config/connector.c )
-  s.files += %w( src/core/client_config/default_initial_connect_string.c )
-  s.files += %w( src/core/client_config/initial_connect_string.c )
-  s.files += %w( src/core/client_config/lb_policies/load_balancer_api.c )
-  s.files += %w( src/core/client_config/lb_policies/pick_first.c )
-  s.files += %w( src/core/client_config/lb_policies/round_robin.c )
-  s.files += %w( src/core/client_config/lb_policy.c )
-  s.files += %w( src/core/client_config/lb_policy_factory.c )
-  s.files += %w( src/core/client_config/lb_policy_registry.c )
-  s.files += %w( src/core/client_config/resolver.c )
-  s.files += %w( src/core/client_config/resolver_factory.c )
-  s.files += %w( src/core/client_config/resolver_registry.c )
-  s.files += %w( src/core/client_config/resolvers/dns_resolver.c )
-  s.files += %w( src/core/client_config/resolvers/sockaddr_resolver.c )
-  s.files += %w( src/core/client_config/subchannel.c )
-  s.files += %w( src/core/client_config/subchannel_factory.c )
-  s.files += %w( src/core/client_config/subchannel_index.c )
-  s.files += %w( src/core/client_config/uri_parser.c )
-  s.files += %w( src/core/compression/compression_algorithm.c )
-  s.files += %w( src/core/compression/message_compress.c )
-  s.files += %w( src/core/debug/trace.c )
-  s.files += %w( src/core/http/format_request.c )
-  s.files += %w( src/core/http/httpcli.c )
-  s.files += %w( src/core/http/parser.c )
-  s.files += %w( src/core/iomgr/closure.c )
-  s.files += %w( src/core/iomgr/endpoint.c )
-  s.files += %w( src/core/iomgr/endpoint_pair_posix.c )
-  s.files += %w( src/core/iomgr/endpoint_pair_windows.c )
-  s.files += %w( src/core/iomgr/exec_ctx.c )
-  s.files += %w( src/core/iomgr/executor.c )
-  s.files += %w( src/core/iomgr/fd_posix.c )
-  s.files += %w( src/core/iomgr/iocp_windows.c )
-  s.files += %w( src/core/iomgr/iomgr.c )
-  s.files += %w( src/core/iomgr/iomgr_posix.c )
-  s.files += %w( src/core/iomgr/iomgr_windows.c )
-  s.files += %w( src/core/iomgr/pollset_multipoller_with_epoll.c )
-  s.files += %w( src/core/iomgr/pollset_multipoller_with_poll_posix.c )
-  s.files += %w( src/core/iomgr/pollset_posix.c )
-  s.files += %w( src/core/iomgr/pollset_set_posix.c )
-  s.files += %w( src/core/iomgr/pollset_set_windows.c )
-  s.files += %w( src/core/iomgr/pollset_windows.c )
-  s.files += %w( src/core/iomgr/resolve_address_posix.c )
-  s.files += %w( src/core/iomgr/resolve_address_windows.c )
-  s.files += %w( src/core/iomgr/sockaddr_utils.c )
-  s.files += %w( src/core/iomgr/socket_utils_common_posix.c )
-  s.files += %w( src/core/iomgr/socket_utils_linux.c )
-  s.files += %w( src/core/iomgr/socket_utils_posix.c )
-  s.files += %w( src/core/iomgr/socket_windows.c )
-  s.files += %w( src/core/iomgr/tcp_client_posix.c )
-  s.files += %w( src/core/iomgr/tcp_client_windows.c )
-  s.files += %w( src/core/iomgr/tcp_posix.c )
-  s.files += %w( src/core/iomgr/tcp_server_posix.c )
-  s.files += %w( src/core/iomgr/tcp_server_windows.c )
-  s.files += %w( src/core/iomgr/tcp_windows.c )
-  s.files += %w( src/core/iomgr/time_averaged_stats.c )
-  s.files += %w( src/core/iomgr/timer.c )
-  s.files += %w( src/core/iomgr/timer_heap.c )
-  s.files += %w( src/core/iomgr/udp_server.c )
-  s.files += %w( src/core/iomgr/unix_sockets_posix.c )
-  s.files += %w( src/core/iomgr/unix_sockets_posix_noop.c )
-  s.files += %w( src/core/iomgr/wakeup_fd_eventfd.c )
-  s.files += %w( src/core/iomgr/wakeup_fd_nospecial.c )
-  s.files += %w( src/core/iomgr/wakeup_fd_pipe.c )
-  s.files += %w( src/core/iomgr/wakeup_fd_posix.c )
-  s.files += %w( src/core/iomgr/workqueue_posix.c )
-  s.files += %w( src/core/iomgr/workqueue_windows.c )
-  s.files += %w( src/core/json/json.c )
-  s.files += %w( src/core/json/json_reader.c )
-  s.files += %w( src/core/json/json_string.c )
-  s.files += %w( src/core/json/json_writer.c )
-  s.files += %w( src/core/proto/grpc/lb/v0/load_balancer.pb.c )
-  s.files += %w( src/core/surface/alarm.c )
-  s.files += %w( src/core/surface/api_trace.c )
-  s.files += %w( src/core/surface/byte_buffer.c )
-  s.files += %w( src/core/surface/byte_buffer_reader.c )
-  s.files += %w( src/core/surface/call.c )
-  s.files += %w( src/core/surface/call_details.c )
-  s.files += %w( src/core/surface/call_log_batch.c )
-  s.files += %w( src/core/surface/channel.c )
-  s.files += %w( src/core/surface/channel_connectivity.c )
-  s.files += %w( src/core/surface/channel_create.c )
-  s.files += %w( src/core/surface/channel_init.c )
-  s.files += %w( src/core/surface/channel_ping.c )
-  s.files += %w( src/core/surface/channel_stack_type.c )
-  s.files += %w( src/core/surface/completion_queue.c )
-  s.files += %w( src/core/surface/event_string.c )
-  s.files += %w( src/core/surface/init.c )
-  s.files += %w( src/core/surface/lame_client.c )
-  s.files += %w( src/core/surface/metadata_array.c )
-  s.files += %w( src/core/surface/server.c )
-  s.files += %w( src/core/surface/server_chttp2.c )
-  s.files += %w( src/core/surface/validate_metadata.c )
-  s.files += %w( src/core/surface/version.c )
-  s.files += %w( src/core/transport/byte_stream.c )
-  s.files += %w( src/core/transport/chttp2/alpn.c )
-  s.files += %w( src/core/transport/chttp2/bin_encoder.c )
-  s.files += %w( src/core/transport/chttp2/frame_data.c )
-  s.files += %w( src/core/transport/chttp2/frame_goaway.c )
-  s.files += %w( src/core/transport/chttp2/frame_ping.c )
-  s.files += %w( src/core/transport/chttp2/frame_rst_stream.c )
-  s.files += %w( src/core/transport/chttp2/frame_settings.c )
-  s.files += %w( src/core/transport/chttp2/frame_window_update.c )
-  s.files += %w( src/core/transport/chttp2/hpack_encoder.c )
-  s.files += %w( src/core/transport/chttp2/hpack_parser.c )
-  s.files += %w( src/core/transport/chttp2/hpack_table.c )
-  s.files += %w( src/core/transport/chttp2/huffsyms.c )
-  s.files += %w( src/core/transport/chttp2/incoming_metadata.c )
-  s.files += %w( src/core/transport/chttp2/parsing.c )
-  s.files += %w( src/core/transport/chttp2/status_conversion.c )
-  s.files += %w( src/core/transport/chttp2/stream_lists.c )
-  s.files += %w( src/core/transport/chttp2/stream_map.c )
-  s.files += %w( src/core/transport/chttp2/timeout_encoding.c )
-  s.files += %w( src/core/transport/chttp2/varint.c )
-  s.files += %w( src/core/transport/chttp2/writing.c )
-  s.files += %w( src/core/transport/chttp2_transport.c )
-  s.files += %w( src/core/transport/connectivity_state.c )
-  s.files += %w( src/core/transport/metadata.c )
-  s.files += %w( src/core/transport/metadata_batch.c )
-  s.files += %w( src/core/transport/static_metadata.c )
-  s.files += %w( src/core/transport/transport.c )
-  s.files += %w( src/core/transport/transport_op_string.c )
-  s.files += %w( src/core/http/httpcli_security_connector.c )
-  s.files += %w( src/core/security/b64.c )
-  s.files += %w( src/core/security/client_auth_filter.c )
-  s.files += %w( src/core/security/credentials.c )
-  s.files += %w( src/core/security/credentials_metadata.c )
-  s.files += %w( src/core/security/credentials_posix.c )
-  s.files += %w( src/core/security/credentials_win32.c )
-  s.files += %w( src/core/security/google_default_credentials.c )
-  s.files += %w( src/core/security/handshake.c )
-  s.files += %w( src/core/security/json_token.c )
-  s.files += %w( src/core/security/jwt_verifier.c )
-  s.files += %w( src/core/security/secure_endpoint.c )
-  s.files += %w( src/core/security/security_connector.c )
-  s.files += %w( src/core/security/security_context.c )
-  s.files += %w( src/core/security/server_auth_filter.c )
-  s.files += %w( src/core/security/server_secure_chttp2.c )
-  s.files += %w( src/core/surface/init_secure.c )
-  s.files += %w( src/core/surface/secure_channel_create.c )
-  s.files += %w( src/core/tsi/fake_transport_security.c )
-  s.files += %w( src/core/tsi/ssl_transport_security.c )
-  s.files += %w( src/core/tsi/transport_security.c )
-  s.files += %w( src/core/census/context.c )
-  s.files += %w( src/core/census/initialize.c )
-  s.files += %w( src/core/census/mlog.c )
-  s.files += %w( src/core/census/operation.c )
-  s.files += %w( src/core/census/placeholders.c )
-  s.files += %w( src/core/census/tracing.c )
+  s.files += %w( src/core/lib/census/grpc_context.c )
+  s.files += %w( src/core/lib/census/grpc_filter.c )
+  s.files += %w( src/core/lib/census/grpc_plugin.c )
+  s.files += %w( src/core/lib/channel/channel_args.c )
+  s.files += %w( src/core/lib/channel/channel_stack.c )
+  s.files += %w( src/core/lib/channel/channel_stack_builder.c )
+  s.files += %w( src/core/lib/channel/client_channel.c )
+  s.files += %w( src/core/lib/channel/compress_filter.c )
+  s.files += %w( src/core/lib/channel/connected_channel.c )
+  s.files += %w( src/core/lib/channel/http_client_filter.c )
+  s.files += %w( src/core/lib/channel/http_server_filter.c )
+  s.files += %w( src/core/lib/channel/subchannel_call_holder.c )
+  s.files += %w( src/core/lib/client_config/client_config.c )
+  s.files += %w( src/core/lib/client_config/connector.c )
+  s.files += %w( src/core/lib/client_config/default_initial_connect_string.c )
+  s.files += %w( src/core/lib/client_config/initial_connect_string.c )
+  s.files += %w( src/core/lib/client_config/lb_policies/load_balancer_api.c )
+  s.files += %w( src/core/lib/client_config/lb_policies/pick_first.c )
+  s.files += %w( src/core/lib/client_config/lb_policies/round_robin.c )
+  s.files += %w( src/core/lib/client_config/lb_policy.c )
+  s.files += %w( src/core/lib/client_config/lb_policy_factory.c )
+  s.files += %w( src/core/lib/client_config/lb_policy_registry.c )
+  s.files += %w( src/core/lib/client_config/resolver.c )
+  s.files += %w( src/core/lib/client_config/resolver_factory.c )
+  s.files += %w( src/core/lib/client_config/resolver_registry.c )
+  s.files += %w( src/core/lib/client_config/resolvers/dns_resolver.c )
+  s.files += %w( src/core/lib/client_config/resolvers/sockaddr_resolver.c )
+  s.files += %w( src/core/lib/client_config/subchannel.c )
+  s.files += %w( src/core/lib/client_config/subchannel_factory.c )
+  s.files += %w( src/core/lib/client_config/subchannel_index.c )
+  s.files += %w( src/core/lib/client_config/uri_parser.c )
+  s.files += %w( src/core/lib/compression/compression_algorithm.c )
+  s.files += %w( src/core/lib/compression/message_compress.c )
+  s.files += %w( src/core/lib/debug/trace.c )
+  s.files += %w( src/core/lib/http/format_request.c )
+  s.files += %w( src/core/lib/http/httpcli.c )
+  s.files += %w( src/core/lib/http/parser.c )
+  s.files += %w( src/core/lib/iomgr/closure.c )
+  s.files += %w( src/core/lib/iomgr/endpoint.c )
+  s.files += %w( src/core/lib/iomgr/endpoint_pair_posix.c )
+  s.files += %w( src/core/lib/iomgr/endpoint_pair_windows.c )
+  s.files += %w( src/core/lib/iomgr/exec_ctx.c )
+  s.files += %w( src/core/lib/iomgr/executor.c )
+  s.files += %w( src/core/lib/iomgr/fd_posix.c )
+  s.files += %w( src/core/lib/iomgr/iocp_windows.c )
+  s.files += %w( src/core/lib/iomgr/iomgr.c )
+  s.files += %w( src/core/lib/iomgr/iomgr_posix.c )
+  s.files += %w( src/core/lib/iomgr/iomgr_windows.c )
+  s.files += %w( src/core/lib/iomgr/pollset_multipoller_with_epoll.c )
+  s.files += %w( src/core/lib/iomgr/pollset_multipoller_with_poll_posix.c )
+  s.files += %w( src/core/lib/iomgr/pollset_posix.c )
+  s.files += %w( src/core/lib/iomgr/pollset_set_posix.c )
+  s.files += %w( src/core/lib/iomgr/pollset_set_windows.c )
+  s.files += %w( src/core/lib/iomgr/pollset_windows.c )
+  s.files += %w( src/core/lib/iomgr/resolve_address_posix.c )
+  s.files += %w( src/core/lib/iomgr/resolve_address_windows.c )
+  s.files += %w( src/core/lib/iomgr/sockaddr_utils.c )
+  s.files += %w( src/core/lib/iomgr/socket_utils_common_posix.c )
+  s.files += %w( src/core/lib/iomgr/socket_utils_linux.c )
+  s.files += %w( src/core/lib/iomgr/socket_utils_posix.c )
+  s.files += %w( src/core/lib/iomgr/socket_windows.c )
+  s.files += %w( src/core/lib/iomgr/tcp_client_posix.c )
+  s.files += %w( src/core/lib/iomgr/tcp_client_windows.c )
+  s.files += %w( src/core/lib/iomgr/tcp_posix.c )
+  s.files += %w( src/core/lib/iomgr/tcp_server_posix.c )
+  s.files += %w( src/core/lib/iomgr/tcp_server_windows.c )
+  s.files += %w( src/core/lib/iomgr/tcp_windows.c )
+  s.files += %w( src/core/lib/iomgr/time_averaged_stats.c )
+  s.files += %w( src/core/lib/iomgr/timer.c )
+  s.files += %w( src/core/lib/iomgr/timer_heap.c )
+  s.files += %w( src/core/lib/iomgr/udp_server.c )
+  s.files += %w( src/core/lib/iomgr/unix_sockets_posix.c )
+  s.files += %w( src/core/lib/iomgr/unix_sockets_posix_noop.c )
+  s.files += %w( src/core/lib/iomgr/wakeup_fd_eventfd.c )
+  s.files += %w( src/core/lib/iomgr/wakeup_fd_nospecial.c )
+  s.files += %w( src/core/lib/iomgr/wakeup_fd_pipe.c )
+  s.files += %w( src/core/lib/iomgr/wakeup_fd_posix.c )
+  s.files += %w( src/core/lib/iomgr/workqueue_posix.c )
+  s.files += %w( src/core/lib/iomgr/workqueue_windows.c )
+  s.files += %w( src/core/lib/json/json.c )
+  s.files += %w( src/core/lib/json/json_reader.c )
+  s.files += %w( src/core/lib/json/json_string.c )
+  s.files += %w( src/core/lib/json/json_writer.c )
+  s.files += %w( src/core/lib/proto/grpc/lb/v0/load_balancer.pb.c )
+  s.files += %w( src/core/lib/surface/alarm.c )
+  s.files += %w( src/core/lib/surface/api_trace.c )
+  s.files += %w( src/core/lib/surface/byte_buffer.c )
+  s.files += %w( src/core/lib/surface/byte_buffer_reader.c )
+  s.files += %w( src/core/lib/surface/call.c )
+  s.files += %w( src/core/lib/surface/call_details.c )
+  s.files += %w( src/core/lib/surface/call_log_batch.c )
+  s.files += %w( src/core/lib/surface/channel.c )
+  s.files += %w( src/core/lib/surface/channel_connectivity.c )
+  s.files += %w( src/core/lib/surface/channel_create.c )
+  s.files += %w( src/core/lib/surface/channel_init.c )
+  s.files += %w( src/core/lib/surface/channel_ping.c )
+  s.files += %w( src/core/lib/surface/channel_stack_type.c )
+  s.files += %w( src/core/lib/surface/completion_queue.c )
+  s.files += %w( src/core/lib/surface/event_string.c )
+  s.files += %w( src/core/lib/surface/init.c )
+  s.files += %w( src/core/lib/surface/lame_client.c )
+  s.files += %w( src/core/lib/surface/metadata_array.c )
+  s.files += %w( src/core/lib/surface/server.c )
+  s.files += %w( src/core/lib/surface/server_chttp2.c )
+  s.files += %w( src/core/lib/surface/validate_metadata.c )
+  s.files += %w( src/core/lib/surface/version.c )
+  s.files += %w( src/core/lib/transport/byte_stream.c )
+  s.files += %w( src/core/lib/transport/chttp2/alpn.c )
+  s.files += %w( src/core/lib/transport/chttp2/bin_encoder.c )
+  s.files += %w( src/core/lib/transport/chttp2/frame_data.c )
+  s.files += %w( src/core/lib/transport/chttp2/frame_goaway.c )
+  s.files += %w( src/core/lib/transport/chttp2/frame_ping.c )
+  s.files += %w( src/core/lib/transport/chttp2/frame_rst_stream.c )
+  s.files += %w( src/core/lib/transport/chttp2/frame_settings.c )
+  s.files += %w( src/core/lib/transport/chttp2/frame_window_update.c )
+  s.files += %w( src/core/lib/transport/chttp2/hpack_encoder.c )
+  s.files += %w( src/core/lib/transport/chttp2/hpack_parser.c )
+  s.files += %w( src/core/lib/transport/chttp2/hpack_table.c )
+  s.files += %w( src/core/lib/transport/chttp2/huffsyms.c )
+  s.files += %w( src/core/lib/transport/chttp2/incoming_metadata.c )
+  s.files += %w( src/core/lib/transport/chttp2/parsing.c )
+  s.files += %w( src/core/lib/transport/chttp2/status_conversion.c )
+  s.files += %w( src/core/lib/transport/chttp2/stream_lists.c )
+  s.files += %w( src/core/lib/transport/chttp2/stream_map.c )
+  s.files += %w( src/core/lib/transport/chttp2/timeout_encoding.c )
+  s.files += %w( src/core/lib/transport/chttp2/varint.c )
+  s.files += %w( src/core/lib/transport/chttp2/writing.c )
+  s.files += %w( src/core/lib/transport/chttp2_transport.c )
+  s.files += %w( src/core/lib/transport/connectivity_state.c )
+  s.files += %w( src/core/lib/transport/metadata.c )
+  s.files += %w( src/core/lib/transport/metadata_batch.c )
+  s.files += %w( src/core/lib/transport/static_metadata.c )
+  s.files += %w( src/core/lib/transport/transport.c )
+  s.files += %w( src/core/lib/transport/transport_op_string.c )
+  s.files += %w( src/core/lib/http/httpcli_security_connector.c )
+  s.files += %w( src/core/lib/security/b64.c )
+  s.files += %w( src/core/lib/security/client_auth_filter.c )
+  s.files += %w( src/core/lib/security/credentials.c )
+  s.files += %w( src/core/lib/security/credentials_metadata.c )
+  s.files += %w( src/core/lib/security/credentials_posix.c )
+  s.files += %w( src/core/lib/security/credentials_win32.c )
+  s.files += %w( src/core/lib/security/google_default_credentials.c )
+  s.files += %w( src/core/lib/security/handshake.c )
+  s.files += %w( src/core/lib/security/json_token.c )
+  s.files += %w( src/core/lib/security/jwt_verifier.c )
+  s.files += %w( src/core/lib/security/secure_endpoint.c )
+  s.files += %w( src/core/lib/security/security_connector.c )
+  s.files += %w( src/core/lib/security/security_context.c )
+  s.files += %w( src/core/lib/security/server_auth_filter.c )
+  s.files += %w( src/core/lib/security/server_secure_chttp2.c )
+  s.files += %w( src/core/lib/surface/init_secure.c )
+  s.files += %w( src/core/lib/surface/secure_channel_create.c )
+  s.files += %w( src/core/lib/tsi/fake_transport_security.c )
+  s.files += %w( src/core/lib/tsi/ssl_transport_security.c )
+  s.files += %w( src/core/lib/tsi/transport_security.c )
+  s.files += %w( src/core/lib/census/context.c )
+  s.files += %w( src/core/lib/census/initialize.c )
+  s.files += %w( src/core/lib/census/mlog.c )
+  s.files += %w( src/core/lib/census/operation.c )
+  s.files += %w( src/core/lib/census/placeholders.c )
+  s.files += %w( src/core/lib/census/tracing.c )
   s.files += %w( third_party/nanopb/pb_common.c )
   s.files += %w( third_party/nanopb/pb_decode.c )
   s.files += %w( third_party/nanopb/pb_encode.c )
diff --git a/package.json b/package.json
index fe08577..37856d7 100644
--- a/package.json
+++ b/package.json
@@ -99,308 +99,308 @@
     "include/grpc/impl/codegen/propagation_bits.h",
     "include/grpc/impl/codegen/status.h",
     "include/grpc/census.h",
-    "src/core/census/grpc_filter.h",
-    "src/core/census/grpc_plugin.h",
-    "src/core/channel/channel_args.h",
-    "src/core/channel/channel_stack.h",
-    "src/core/channel/channel_stack_builder.h",
-    "src/core/channel/client_channel.h",
-    "src/core/channel/compress_filter.h",
-    "src/core/channel/connected_channel.h",
-    "src/core/channel/context.h",
-    "src/core/channel/http_client_filter.h",
-    "src/core/channel/http_server_filter.h",
-    "src/core/channel/subchannel_call_holder.h",
-    "src/core/client_config/client_config.h",
-    "src/core/client_config/connector.h",
-    "src/core/client_config/initial_connect_string.h",
-    "src/core/client_config/lb_policies/load_balancer_api.h",
-    "src/core/client_config/lb_policies/pick_first.h",
-    "src/core/client_config/lb_policies/round_robin.h",
-    "src/core/client_config/lb_policy.h",
-    "src/core/client_config/lb_policy_factory.h",
-    "src/core/client_config/lb_policy_registry.h",
-    "src/core/client_config/resolver.h",
-    "src/core/client_config/resolver_factory.h",
-    "src/core/client_config/resolver_registry.h",
-    "src/core/client_config/resolvers/dns_resolver.h",
-    "src/core/client_config/resolvers/sockaddr_resolver.h",
-    "src/core/client_config/subchannel.h",
-    "src/core/client_config/subchannel_factory.h",
-    "src/core/client_config/subchannel_index.h",
-    "src/core/client_config/uri_parser.h",
-    "src/core/compression/algorithm_metadata.h",
-    "src/core/compression/message_compress.h",
-    "src/core/debug/trace.h",
-    "src/core/http/format_request.h",
-    "src/core/http/httpcli.h",
-    "src/core/http/parser.h",
-    "src/core/iomgr/closure.h",
-    "src/core/iomgr/endpoint.h",
-    "src/core/iomgr/endpoint_pair.h",
-    "src/core/iomgr/exec_ctx.h",
-    "src/core/iomgr/executor.h",
-    "src/core/iomgr/fd_posix.h",
-    "src/core/iomgr/iocp_windows.h",
-    "src/core/iomgr/iomgr.h",
-    "src/core/iomgr/iomgr_internal.h",
-    "src/core/iomgr/iomgr_posix.h",
-    "src/core/iomgr/pollset.h",
-    "src/core/iomgr/pollset_posix.h",
-    "src/core/iomgr/pollset_set.h",
-    "src/core/iomgr/pollset_set_posix.h",
-    "src/core/iomgr/pollset_set_windows.h",
-    "src/core/iomgr/pollset_windows.h",
-    "src/core/iomgr/resolve_address.h",
-    "src/core/iomgr/sockaddr.h",
-    "src/core/iomgr/sockaddr_posix.h",
-    "src/core/iomgr/sockaddr_utils.h",
-    "src/core/iomgr/sockaddr_win32.h",
-    "src/core/iomgr/socket_utils_posix.h",
-    "src/core/iomgr/socket_windows.h",
-    "src/core/iomgr/tcp_client.h",
-    "src/core/iomgr/tcp_posix.h",
-    "src/core/iomgr/tcp_server.h",
-    "src/core/iomgr/tcp_windows.h",
-    "src/core/iomgr/time_averaged_stats.h",
-    "src/core/iomgr/timer.h",
-    "src/core/iomgr/timer_heap.h",
-    "src/core/iomgr/udp_server.h",
-    "src/core/iomgr/unix_sockets_posix.h",
-    "src/core/iomgr/wakeup_fd_pipe.h",
-    "src/core/iomgr/wakeup_fd_posix.h",
-    "src/core/iomgr/workqueue.h",
-    "src/core/iomgr/workqueue_posix.h",
-    "src/core/iomgr/workqueue_windows.h",
-    "src/core/json/json.h",
-    "src/core/json/json_common.h",
-    "src/core/json/json_reader.h",
-    "src/core/json/json_writer.h",
-    "src/core/proto/grpc/lb/v0/load_balancer.pb.h",
-    "src/core/statistics/census_interface.h",
-    "src/core/statistics/census_rpc_stats.h",
-    "src/core/surface/api_trace.h",
-    "src/core/surface/call.h",
-    "src/core/surface/call_test_only.h",
-    "src/core/surface/channel.h",
-    "src/core/surface/channel_init.h",
-    "src/core/surface/channel_stack_type.h",
-    "src/core/surface/completion_queue.h",
-    "src/core/surface/event_string.h",
-    "src/core/surface/init.h",
-    "src/core/surface/lame_client.h",
-    "src/core/surface/server.h",
-    "src/core/surface/surface_trace.h",
-    "src/core/transport/byte_stream.h",
-    "src/core/transport/chttp2/alpn.h",
-    "src/core/transport/chttp2/bin_encoder.h",
-    "src/core/transport/chttp2/frame.h",
-    "src/core/transport/chttp2/frame_data.h",
-    "src/core/transport/chttp2/frame_goaway.h",
-    "src/core/transport/chttp2/frame_ping.h",
-    "src/core/transport/chttp2/frame_rst_stream.h",
-    "src/core/transport/chttp2/frame_settings.h",
-    "src/core/transport/chttp2/frame_window_update.h",
-    "src/core/transport/chttp2/hpack_encoder.h",
-    "src/core/transport/chttp2/hpack_parser.h",
-    "src/core/transport/chttp2/hpack_table.h",
-    "src/core/transport/chttp2/http2_errors.h",
-    "src/core/transport/chttp2/huffsyms.h",
-    "src/core/transport/chttp2/incoming_metadata.h",
-    "src/core/transport/chttp2/internal.h",
-    "src/core/transport/chttp2/status_conversion.h",
-    "src/core/transport/chttp2/stream_map.h",
-    "src/core/transport/chttp2/timeout_encoding.h",
-    "src/core/transport/chttp2/varint.h",
-    "src/core/transport/chttp2_transport.h",
-    "src/core/transport/connectivity_state.h",
-    "src/core/transport/metadata.h",
-    "src/core/transport/metadata_batch.h",
-    "src/core/transport/static_metadata.h",
-    "src/core/transport/transport.h",
-    "src/core/transport/transport_impl.h",
-    "src/core/security/auth_filters.h",
-    "src/core/security/b64.h",
-    "src/core/security/credentials.h",
-    "src/core/security/handshake.h",
-    "src/core/security/json_token.h",
-    "src/core/security/jwt_verifier.h",
-    "src/core/security/secure_endpoint.h",
-    "src/core/security/security_connector.h",
-    "src/core/security/security_context.h",
-    "src/core/tsi/fake_transport_security.h",
-    "src/core/tsi/ssl_transport_security.h",
-    "src/core/tsi/ssl_types.h",
-    "src/core/tsi/transport_security.h",
-    "src/core/tsi/transport_security_interface.h",
-    "src/core/census/aggregation.h",
-    "src/core/census/mlog.h",
-    "src/core/census/rpc_metric_id.h",
+    "src/core/lib/census/grpc_filter.h",
+    "src/core/lib/census/grpc_plugin.h",
+    "src/core/lib/channel/channel_args.h",
+    "src/core/lib/channel/channel_stack.h",
+    "src/core/lib/channel/channel_stack_builder.h",
+    "src/core/lib/channel/client_channel.h",
+    "src/core/lib/channel/compress_filter.h",
+    "src/core/lib/channel/connected_channel.h",
+    "src/core/lib/channel/context.h",
+    "src/core/lib/channel/http_client_filter.h",
+    "src/core/lib/channel/http_server_filter.h",
+    "src/core/lib/channel/subchannel_call_holder.h",
+    "src/core/lib/client_config/client_config.h",
+    "src/core/lib/client_config/connector.h",
+    "src/core/lib/client_config/initial_connect_string.h",
+    "src/core/lib/client_config/lb_policies/load_balancer_api.h",
+    "src/core/lib/client_config/lb_policies/pick_first.h",
+    "src/core/lib/client_config/lb_policies/round_robin.h",
+    "src/core/lib/client_config/lb_policy.h",
+    "src/core/lib/client_config/lb_policy_factory.h",
+    "src/core/lib/client_config/lb_policy_registry.h",
+    "src/core/lib/client_config/resolver.h",
+    "src/core/lib/client_config/resolver_factory.h",
+    "src/core/lib/client_config/resolver_registry.h",
+    "src/core/lib/client_config/resolvers/dns_resolver.h",
+    "src/core/lib/client_config/resolvers/sockaddr_resolver.h",
+    "src/core/lib/client_config/subchannel.h",
+    "src/core/lib/client_config/subchannel_factory.h",
+    "src/core/lib/client_config/subchannel_index.h",
+    "src/core/lib/client_config/uri_parser.h",
+    "src/core/lib/compression/algorithm_metadata.h",
+    "src/core/lib/compression/message_compress.h",
+    "src/core/lib/debug/trace.h",
+    "src/core/lib/http/format_request.h",
+    "src/core/lib/http/httpcli.h",
+    "src/core/lib/http/parser.h",
+    "src/core/lib/iomgr/closure.h",
+    "src/core/lib/iomgr/endpoint.h",
+    "src/core/lib/iomgr/endpoint_pair.h",
+    "src/core/lib/iomgr/exec_ctx.h",
+    "src/core/lib/iomgr/executor.h",
+    "src/core/lib/iomgr/fd_posix.h",
+    "src/core/lib/iomgr/iocp_windows.h",
+    "src/core/lib/iomgr/iomgr.h",
+    "src/core/lib/iomgr/iomgr_internal.h",
+    "src/core/lib/iomgr/iomgr_posix.h",
+    "src/core/lib/iomgr/pollset.h",
+    "src/core/lib/iomgr/pollset_posix.h",
+    "src/core/lib/iomgr/pollset_set.h",
+    "src/core/lib/iomgr/pollset_set_posix.h",
+    "src/core/lib/iomgr/pollset_set_windows.h",
+    "src/core/lib/iomgr/pollset_windows.h",
+    "src/core/lib/iomgr/resolve_address.h",
+    "src/core/lib/iomgr/sockaddr.h",
+    "src/core/lib/iomgr/sockaddr_posix.h",
+    "src/core/lib/iomgr/sockaddr_utils.h",
+    "src/core/lib/iomgr/sockaddr_win32.h",
+    "src/core/lib/iomgr/socket_utils_posix.h",
+    "src/core/lib/iomgr/socket_windows.h",
+    "src/core/lib/iomgr/tcp_client.h",
+    "src/core/lib/iomgr/tcp_posix.h",
+    "src/core/lib/iomgr/tcp_server.h",
+    "src/core/lib/iomgr/tcp_windows.h",
+    "src/core/lib/iomgr/time_averaged_stats.h",
+    "src/core/lib/iomgr/timer.h",
+    "src/core/lib/iomgr/timer_heap.h",
+    "src/core/lib/iomgr/udp_server.h",
+    "src/core/lib/iomgr/unix_sockets_posix.h",
+    "src/core/lib/iomgr/wakeup_fd_pipe.h",
+    "src/core/lib/iomgr/wakeup_fd_posix.h",
+    "src/core/lib/iomgr/workqueue.h",
+    "src/core/lib/iomgr/workqueue_posix.h",
+    "src/core/lib/iomgr/workqueue_windows.h",
+    "src/core/lib/json/json.h",
+    "src/core/lib/json/json_common.h",
+    "src/core/lib/json/json_reader.h",
+    "src/core/lib/json/json_writer.h",
+    "src/core/lib/proto/grpc/lb/v0/load_balancer.pb.h",
+    "src/core/lib/statistics/census_interface.h",
+    "src/core/lib/statistics/census_rpc_stats.h",
+    "src/core/lib/surface/api_trace.h",
+    "src/core/lib/surface/call.h",
+    "src/core/lib/surface/call_test_only.h",
+    "src/core/lib/surface/channel.h",
+    "src/core/lib/surface/channel_init.h",
+    "src/core/lib/surface/channel_stack_type.h",
+    "src/core/lib/surface/completion_queue.h",
+    "src/core/lib/surface/event_string.h",
+    "src/core/lib/surface/init.h",
+    "src/core/lib/surface/lame_client.h",
+    "src/core/lib/surface/server.h",
+    "src/core/lib/surface/surface_trace.h",
+    "src/core/lib/transport/byte_stream.h",
+    "src/core/lib/transport/chttp2/alpn.h",
+    "src/core/lib/transport/chttp2/bin_encoder.h",
+    "src/core/lib/transport/chttp2/frame.h",
+    "src/core/lib/transport/chttp2/frame_data.h",
+    "src/core/lib/transport/chttp2/frame_goaway.h",
+    "src/core/lib/transport/chttp2/frame_ping.h",
+    "src/core/lib/transport/chttp2/frame_rst_stream.h",
+    "src/core/lib/transport/chttp2/frame_settings.h",
+    "src/core/lib/transport/chttp2/frame_window_update.h",
+    "src/core/lib/transport/chttp2/hpack_encoder.h",
+    "src/core/lib/transport/chttp2/hpack_parser.h",
+    "src/core/lib/transport/chttp2/hpack_table.h",
+    "src/core/lib/transport/chttp2/http2_errors.h",
+    "src/core/lib/transport/chttp2/huffsyms.h",
+    "src/core/lib/transport/chttp2/incoming_metadata.h",
+    "src/core/lib/transport/chttp2/internal.h",
+    "src/core/lib/transport/chttp2/status_conversion.h",
+    "src/core/lib/transport/chttp2/stream_map.h",
+    "src/core/lib/transport/chttp2/timeout_encoding.h",
+    "src/core/lib/transport/chttp2/varint.h",
+    "src/core/lib/transport/chttp2_transport.h",
+    "src/core/lib/transport/connectivity_state.h",
+    "src/core/lib/transport/metadata.h",
+    "src/core/lib/transport/metadata_batch.h",
+    "src/core/lib/transport/static_metadata.h",
+    "src/core/lib/transport/transport.h",
+    "src/core/lib/transport/transport_impl.h",
+    "src/core/lib/security/auth_filters.h",
+    "src/core/lib/security/b64.h",
+    "src/core/lib/security/credentials.h",
+    "src/core/lib/security/handshake.h",
+    "src/core/lib/security/json_token.h",
+    "src/core/lib/security/jwt_verifier.h",
+    "src/core/lib/security/secure_endpoint.h",
+    "src/core/lib/security/security_connector.h",
+    "src/core/lib/security/security_context.h",
+    "src/core/lib/tsi/fake_transport_security.h",
+    "src/core/lib/tsi/ssl_transport_security.h",
+    "src/core/lib/tsi/ssl_types.h",
+    "src/core/lib/tsi/transport_security.h",
+    "src/core/lib/tsi/transport_security_interface.h",
+    "src/core/lib/census/aggregation.h",
+    "src/core/lib/census/mlog.h",
+    "src/core/lib/census/rpc_metric_id.h",
     "third_party/nanopb/pb.h",
     "third_party/nanopb/pb_common.h",
     "third_party/nanopb/pb_decode.h",
     "third_party/nanopb/pb_encode.h",
-    "src/core/census/grpc_context.c",
-    "src/core/census/grpc_filter.c",
-    "src/core/census/grpc_plugin.c",
-    "src/core/channel/channel_args.c",
-    "src/core/channel/channel_stack.c",
-    "src/core/channel/channel_stack_builder.c",
-    "src/core/channel/client_channel.c",
-    "src/core/channel/compress_filter.c",
-    "src/core/channel/connected_channel.c",
-    "src/core/channel/http_client_filter.c",
-    "src/core/channel/http_server_filter.c",
-    "src/core/channel/subchannel_call_holder.c",
-    "src/core/client_config/client_config.c",
-    "src/core/client_config/connector.c",
-    "src/core/client_config/default_initial_connect_string.c",
-    "src/core/client_config/initial_connect_string.c",
-    "src/core/client_config/lb_policies/load_balancer_api.c",
-    "src/core/client_config/lb_policies/pick_first.c",
-    "src/core/client_config/lb_policies/round_robin.c",
-    "src/core/client_config/lb_policy.c",
-    "src/core/client_config/lb_policy_factory.c",
-    "src/core/client_config/lb_policy_registry.c",
-    "src/core/client_config/resolver.c",
-    "src/core/client_config/resolver_factory.c",
-    "src/core/client_config/resolver_registry.c",
-    "src/core/client_config/resolvers/dns_resolver.c",
-    "src/core/client_config/resolvers/sockaddr_resolver.c",
-    "src/core/client_config/subchannel.c",
-    "src/core/client_config/subchannel_factory.c",
-    "src/core/client_config/subchannel_index.c",
-    "src/core/client_config/uri_parser.c",
-    "src/core/compression/compression_algorithm.c",
-    "src/core/compression/message_compress.c",
-    "src/core/debug/trace.c",
-    "src/core/http/format_request.c",
-    "src/core/http/httpcli.c",
-    "src/core/http/parser.c",
-    "src/core/iomgr/closure.c",
-    "src/core/iomgr/endpoint.c",
-    "src/core/iomgr/endpoint_pair_posix.c",
-    "src/core/iomgr/endpoint_pair_windows.c",
-    "src/core/iomgr/exec_ctx.c",
-    "src/core/iomgr/executor.c",
-    "src/core/iomgr/fd_posix.c",
-    "src/core/iomgr/iocp_windows.c",
-    "src/core/iomgr/iomgr.c",
-    "src/core/iomgr/iomgr_posix.c",
-    "src/core/iomgr/iomgr_windows.c",
-    "src/core/iomgr/pollset_multipoller_with_epoll.c",
-    "src/core/iomgr/pollset_multipoller_with_poll_posix.c",
-    "src/core/iomgr/pollset_posix.c",
-    "src/core/iomgr/pollset_set_posix.c",
-    "src/core/iomgr/pollset_set_windows.c",
-    "src/core/iomgr/pollset_windows.c",
-    "src/core/iomgr/resolve_address_posix.c",
-    "src/core/iomgr/resolve_address_windows.c",
-    "src/core/iomgr/sockaddr_utils.c",
-    "src/core/iomgr/socket_utils_common_posix.c",
-    "src/core/iomgr/socket_utils_linux.c",
-    "src/core/iomgr/socket_utils_posix.c",
-    "src/core/iomgr/socket_windows.c",
-    "src/core/iomgr/tcp_client_posix.c",
-    "src/core/iomgr/tcp_client_windows.c",
-    "src/core/iomgr/tcp_posix.c",
-    "src/core/iomgr/tcp_server_posix.c",
-    "src/core/iomgr/tcp_server_windows.c",
-    "src/core/iomgr/tcp_windows.c",
-    "src/core/iomgr/time_averaged_stats.c",
-    "src/core/iomgr/timer.c",
-    "src/core/iomgr/timer_heap.c",
-    "src/core/iomgr/udp_server.c",
-    "src/core/iomgr/unix_sockets_posix.c",
-    "src/core/iomgr/unix_sockets_posix_noop.c",
-    "src/core/iomgr/wakeup_fd_eventfd.c",
-    "src/core/iomgr/wakeup_fd_nospecial.c",
-    "src/core/iomgr/wakeup_fd_pipe.c",
-    "src/core/iomgr/wakeup_fd_posix.c",
-    "src/core/iomgr/workqueue_posix.c",
-    "src/core/iomgr/workqueue_windows.c",
-    "src/core/json/json.c",
-    "src/core/json/json_reader.c",
-    "src/core/json/json_string.c",
-    "src/core/json/json_writer.c",
-    "src/core/proto/grpc/lb/v0/load_balancer.pb.c",
-    "src/core/surface/alarm.c",
-    "src/core/surface/api_trace.c",
-    "src/core/surface/byte_buffer.c",
-    "src/core/surface/byte_buffer_reader.c",
-    "src/core/surface/call.c",
-    "src/core/surface/call_details.c",
-    "src/core/surface/call_log_batch.c",
-    "src/core/surface/channel.c",
-    "src/core/surface/channel_connectivity.c",
-    "src/core/surface/channel_create.c",
-    "src/core/surface/channel_init.c",
-    "src/core/surface/channel_ping.c",
-    "src/core/surface/channel_stack_type.c",
-    "src/core/surface/completion_queue.c",
-    "src/core/surface/event_string.c",
-    "src/core/surface/init.c",
-    "src/core/surface/lame_client.c",
-    "src/core/surface/metadata_array.c",
-    "src/core/surface/server.c",
-    "src/core/surface/server_chttp2.c",
-    "src/core/surface/validate_metadata.c",
-    "src/core/surface/version.c",
-    "src/core/transport/byte_stream.c",
-    "src/core/transport/chttp2/alpn.c",
-    "src/core/transport/chttp2/bin_encoder.c",
-    "src/core/transport/chttp2/frame_data.c",
-    "src/core/transport/chttp2/frame_goaway.c",
-    "src/core/transport/chttp2/frame_ping.c",
-    "src/core/transport/chttp2/frame_rst_stream.c",
-    "src/core/transport/chttp2/frame_settings.c",
-    "src/core/transport/chttp2/frame_window_update.c",
-    "src/core/transport/chttp2/hpack_encoder.c",
-    "src/core/transport/chttp2/hpack_parser.c",
-    "src/core/transport/chttp2/hpack_table.c",
-    "src/core/transport/chttp2/huffsyms.c",
-    "src/core/transport/chttp2/incoming_metadata.c",
-    "src/core/transport/chttp2/parsing.c",
-    "src/core/transport/chttp2/status_conversion.c",
-    "src/core/transport/chttp2/stream_lists.c",
-    "src/core/transport/chttp2/stream_map.c",
-    "src/core/transport/chttp2/timeout_encoding.c",
-    "src/core/transport/chttp2/varint.c",
-    "src/core/transport/chttp2/writing.c",
-    "src/core/transport/chttp2_transport.c",
-    "src/core/transport/connectivity_state.c",
-    "src/core/transport/metadata.c",
-    "src/core/transport/metadata_batch.c",
-    "src/core/transport/static_metadata.c",
-    "src/core/transport/transport.c",
-    "src/core/transport/transport_op_string.c",
-    "src/core/http/httpcli_security_connector.c",
-    "src/core/security/b64.c",
-    "src/core/security/client_auth_filter.c",
-    "src/core/security/credentials.c",
-    "src/core/security/credentials_metadata.c",
-    "src/core/security/credentials_posix.c",
-    "src/core/security/credentials_win32.c",
-    "src/core/security/google_default_credentials.c",
-    "src/core/security/handshake.c",
-    "src/core/security/json_token.c",
-    "src/core/security/jwt_verifier.c",
-    "src/core/security/secure_endpoint.c",
-    "src/core/security/security_connector.c",
-    "src/core/security/security_context.c",
-    "src/core/security/server_auth_filter.c",
-    "src/core/security/server_secure_chttp2.c",
-    "src/core/surface/init_secure.c",
-    "src/core/surface/secure_channel_create.c",
-    "src/core/tsi/fake_transport_security.c",
-    "src/core/tsi/ssl_transport_security.c",
-    "src/core/tsi/transport_security.c",
-    "src/core/census/context.c",
-    "src/core/census/initialize.c",
-    "src/core/census/mlog.c",
-    "src/core/census/operation.c",
-    "src/core/census/placeholders.c",
-    "src/core/census/tracing.c",
+    "src/core/lib/census/grpc_context.c",
+    "src/core/lib/census/grpc_filter.c",
+    "src/core/lib/census/grpc_plugin.c",
+    "src/core/lib/channel/channel_args.c",
+    "src/core/lib/channel/channel_stack.c",
+    "src/core/lib/channel/channel_stack_builder.c",
+    "src/core/lib/channel/client_channel.c",
+    "src/core/lib/channel/compress_filter.c",
+    "src/core/lib/channel/connected_channel.c",
+    "src/core/lib/channel/http_client_filter.c",
+    "src/core/lib/channel/http_server_filter.c",
+    "src/core/lib/channel/subchannel_call_holder.c",
+    "src/core/lib/client_config/client_config.c",
+    "src/core/lib/client_config/connector.c",
+    "src/core/lib/client_config/default_initial_connect_string.c",
+    "src/core/lib/client_config/initial_connect_string.c",
+    "src/core/lib/client_config/lb_policies/load_balancer_api.c",
+    "src/core/lib/client_config/lb_policies/pick_first.c",
+    "src/core/lib/client_config/lb_policies/round_robin.c",
+    "src/core/lib/client_config/lb_policy.c",
+    "src/core/lib/client_config/lb_policy_factory.c",
+    "src/core/lib/client_config/lb_policy_registry.c",
+    "src/core/lib/client_config/resolver.c",
+    "src/core/lib/client_config/resolver_factory.c",
+    "src/core/lib/client_config/resolver_registry.c",
+    "src/core/lib/client_config/resolvers/dns_resolver.c",
+    "src/core/lib/client_config/resolvers/sockaddr_resolver.c",
+    "src/core/lib/client_config/subchannel.c",
+    "src/core/lib/client_config/subchannel_factory.c",
+    "src/core/lib/client_config/subchannel_index.c",
+    "src/core/lib/client_config/uri_parser.c",
+    "src/core/lib/compression/compression_algorithm.c",
+    "src/core/lib/compression/message_compress.c",
+    "src/core/lib/debug/trace.c",
+    "src/core/lib/http/format_request.c",
+    "src/core/lib/http/httpcli.c",
+    "src/core/lib/http/parser.c",
+    "src/core/lib/iomgr/closure.c",
+    "src/core/lib/iomgr/endpoint.c",
+    "src/core/lib/iomgr/endpoint_pair_posix.c",
+    "src/core/lib/iomgr/endpoint_pair_windows.c",
+    "src/core/lib/iomgr/exec_ctx.c",
+    "src/core/lib/iomgr/executor.c",
+    "src/core/lib/iomgr/fd_posix.c",
+    "src/core/lib/iomgr/iocp_windows.c",
+    "src/core/lib/iomgr/iomgr.c",
+    "src/core/lib/iomgr/iomgr_posix.c",
+    "src/core/lib/iomgr/iomgr_windows.c",
+    "src/core/lib/iomgr/pollset_multipoller_with_epoll.c",
+    "src/core/lib/iomgr/pollset_multipoller_with_poll_posix.c",
+    "src/core/lib/iomgr/pollset_posix.c",
+    "src/core/lib/iomgr/pollset_set_posix.c",
+    "src/core/lib/iomgr/pollset_set_windows.c",
+    "src/core/lib/iomgr/pollset_windows.c",
+    "src/core/lib/iomgr/resolve_address_posix.c",
+    "src/core/lib/iomgr/resolve_address_windows.c",
+    "src/core/lib/iomgr/sockaddr_utils.c",
+    "src/core/lib/iomgr/socket_utils_common_posix.c",
+    "src/core/lib/iomgr/socket_utils_linux.c",
+    "src/core/lib/iomgr/socket_utils_posix.c",
+    "src/core/lib/iomgr/socket_windows.c",
+    "src/core/lib/iomgr/tcp_client_posix.c",
+    "src/core/lib/iomgr/tcp_client_windows.c",
+    "src/core/lib/iomgr/tcp_posix.c",
+    "src/core/lib/iomgr/tcp_server_posix.c",
+    "src/core/lib/iomgr/tcp_server_windows.c",
+    "src/core/lib/iomgr/tcp_windows.c",
+    "src/core/lib/iomgr/time_averaged_stats.c",
+    "src/core/lib/iomgr/timer.c",
+    "src/core/lib/iomgr/timer_heap.c",
+    "src/core/lib/iomgr/udp_server.c",
+    "src/core/lib/iomgr/unix_sockets_posix.c",
+    "src/core/lib/iomgr/unix_sockets_posix_noop.c",
+    "src/core/lib/iomgr/wakeup_fd_eventfd.c",
+    "src/core/lib/iomgr/wakeup_fd_nospecial.c",
+    "src/core/lib/iomgr/wakeup_fd_pipe.c",
+    "src/core/lib/iomgr/wakeup_fd_posix.c",
+    "src/core/lib/iomgr/workqueue_posix.c",
+    "src/core/lib/iomgr/workqueue_windows.c",
+    "src/core/lib/json/json.c",
+    "src/core/lib/json/json_reader.c",
+    "src/core/lib/json/json_string.c",
+    "src/core/lib/json/json_writer.c",
+    "src/core/lib/proto/grpc/lb/v0/load_balancer.pb.c",
+    "src/core/lib/surface/alarm.c",
+    "src/core/lib/surface/api_trace.c",
+    "src/core/lib/surface/byte_buffer.c",
+    "src/core/lib/surface/byte_buffer_reader.c",
+    "src/core/lib/surface/call.c",
+    "src/core/lib/surface/call_details.c",
+    "src/core/lib/surface/call_log_batch.c",
+    "src/core/lib/surface/channel.c",
+    "src/core/lib/surface/channel_connectivity.c",
+    "src/core/lib/surface/channel_create.c",
+    "src/core/lib/surface/channel_init.c",
+    "src/core/lib/surface/channel_ping.c",
+    "src/core/lib/surface/channel_stack_type.c",
+    "src/core/lib/surface/completion_queue.c",
+    "src/core/lib/surface/event_string.c",
+    "src/core/lib/surface/init.c",
+    "src/core/lib/surface/lame_client.c",
+    "src/core/lib/surface/metadata_array.c",
+    "src/core/lib/surface/server.c",
+    "src/core/lib/surface/server_chttp2.c",
+    "src/core/lib/surface/validate_metadata.c",
+    "src/core/lib/surface/version.c",
+    "src/core/lib/transport/byte_stream.c",
+    "src/core/lib/transport/chttp2/alpn.c",
+    "src/core/lib/transport/chttp2/bin_encoder.c",
+    "src/core/lib/transport/chttp2/frame_data.c",
+    "src/core/lib/transport/chttp2/frame_goaway.c",
+    "src/core/lib/transport/chttp2/frame_ping.c",
+    "src/core/lib/transport/chttp2/frame_rst_stream.c",
+    "src/core/lib/transport/chttp2/frame_settings.c",
+    "src/core/lib/transport/chttp2/frame_window_update.c",
+    "src/core/lib/transport/chttp2/hpack_encoder.c",
+    "src/core/lib/transport/chttp2/hpack_parser.c",
+    "src/core/lib/transport/chttp2/hpack_table.c",
+    "src/core/lib/transport/chttp2/huffsyms.c",
+    "src/core/lib/transport/chttp2/incoming_metadata.c",
+    "src/core/lib/transport/chttp2/parsing.c",
+    "src/core/lib/transport/chttp2/status_conversion.c",
+    "src/core/lib/transport/chttp2/stream_lists.c",
+    "src/core/lib/transport/chttp2/stream_map.c",
+    "src/core/lib/transport/chttp2/timeout_encoding.c",
+    "src/core/lib/transport/chttp2/varint.c",
+    "src/core/lib/transport/chttp2/writing.c",
+    "src/core/lib/transport/chttp2_transport.c",
+    "src/core/lib/transport/connectivity_state.c",
+    "src/core/lib/transport/metadata.c",
+    "src/core/lib/transport/metadata_batch.c",
+    "src/core/lib/transport/static_metadata.c",
+    "src/core/lib/transport/transport.c",
+    "src/core/lib/transport/transport_op_string.c",
+    "src/core/lib/http/httpcli_security_connector.c",
+    "src/core/lib/security/b64.c",
+    "src/core/lib/security/client_auth_filter.c",
+    "src/core/lib/security/credentials.c",
+    "src/core/lib/security/credentials_metadata.c",
+    "src/core/lib/security/credentials_posix.c",
+    "src/core/lib/security/credentials_win32.c",
+    "src/core/lib/security/google_default_credentials.c",
+    "src/core/lib/security/handshake.c",
+    "src/core/lib/security/json_token.c",
+    "src/core/lib/security/jwt_verifier.c",
+    "src/core/lib/security/secure_endpoint.c",
+    "src/core/lib/security/security_connector.c",
+    "src/core/lib/security/security_context.c",
+    "src/core/lib/security/server_auth_filter.c",
+    "src/core/lib/security/server_secure_chttp2.c",
+    "src/core/lib/surface/init_secure.c",
+    "src/core/lib/surface/secure_channel_create.c",
+    "src/core/lib/tsi/fake_transport_security.c",
+    "src/core/lib/tsi/ssl_transport_security.c",
+    "src/core/lib/tsi/transport_security.c",
+    "src/core/lib/census/context.c",
+    "src/core/lib/census/initialize.c",
+    "src/core/lib/census/mlog.c",
+    "src/core/lib/census/operation.c",
+    "src/core/lib/census/placeholders.c",
+    "src/core/lib/census/tracing.c",
     "third_party/nanopb/pb_common.c",
     "third_party/nanopb/pb_decode.c",
     "third_party/nanopb/pb_encode.c",
@@ -873,62 +873,62 @@
     "include/grpc/impl/codegen/sync_posix.h",
     "include/grpc/impl/codegen/sync_win32.h",
     "include/grpc/impl/codegen/time.h",
-    "src/core/profiling/timers.h",
-    "src/core/support/backoff.h",
-    "src/core/support/block_annotate.h",
-    "src/core/support/env.h",
-    "src/core/support/load_file.h",
-    "src/core/support/murmur_hash.h",
-    "src/core/support/stack_lockfree.h",
-    "src/core/support/string.h",
-    "src/core/support/string_win32.h",
-    "src/core/support/thd_internal.h",
-    "src/core/support/time_precise.h",
-    "src/core/support/tmpfile.h",
-    "src/core/profiling/basic_timers.c",
-    "src/core/profiling/stap_timers.c",
-    "src/core/support/alloc.c",
-    "src/core/support/avl.c",
-    "src/core/support/backoff.c",
-    "src/core/support/cmdline.c",
-    "src/core/support/cpu_iphone.c",
-    "src/core/support/cpu_linux.c",
-    "src/core/support/cpu_posix.c",
-    "src/core/support/cpu_windows.c",
-    "src/core/support/env_linux.c",
-    "src/core/support/env_posix.c",
-    "src/core/support/env_win32.c",
-    "src/core/support/histogram.c",
-    "src/core/support/host_port.c",
-    "src/core/support/load_file.c",
-    "src/core/support/log.c",
-    "src/core/support/log_android.c",
-    "src/core/support/log_linux.c",
-    "src/core/support/log_posix.c",
-    "src/core/support/log_win32.c",
-    "src/core/support/murmur_hash.c",
-    "src/core/support/slice.c",
-    "src/core/support/slice_buffer.c",
-    "src/core/support/stack_lockfree.c",
-    "src/core/support/string.c",
-    "src/core/support/string_posix.c",
-    "src/core/support/string_win32.c",
-    "src/core/support/subprocess_posix.c",
-    "src/core/support/subprocess_windows.c",
-    "src/core/support/sync.c",
-    "src/core/support/sync_posix.c",
-    "src/core/support/sync_win32.c",
-    "src/core/support/thd.c",
-    "src/core/support/thd_posix.c",
-    "src/core/support/thd_win32.c",
-    "src/core/support/time.c",
-    "src/core/support/time_posix.c",
-    "src/core/support/time_precise.c",
-    "src/core/support/time_win32.c",
-    "src/core/support/tls_pthread.c",
-    "src/core/support/tmpfile_posix.c",
-    "src/core/support/tmpfile_win32.c",
-    "src/core/support/wrap_memcpy.c",
+    "src/core/lib/profiling/timers.h",
+    "src/core/lib/support/backoff.h",
+    "src/core/lib/support/block_annotate.h",
+    "src/core/lib/support/env.h",
+    "src/core/lib/support/load_file.h",
+    "src/core/lib/support/murmur_hash.h",
+    "src/core/lib/support/stack_lockfree.h",
+    "src/core/lib/support/string.h",
+    "src/core/lib/support/string_win32.h",
+    "src/core/lib/support/thd_internal.h",
+    "src/core/lib/support/time_precise.h",
+    "src/core/lib/support/tmpfile.h",
+    "src/core/lib/profiling/basic_timers.c",
+    "src/core/lib/profiling/stap_timers.c",
+    "src/core/lib/support/alloc.c",
+    "src/core/lib/support/avl.c",
+    "src/core/lib/support/backoff.c",
+    "src/core/lib/support/cmdline.c",
+    "src/core/lib/support/cpu_iphone.c",
+    "src/core/lib/support/cpu_linux.c",
+    "src/core/lib/support/cpu_posix.c",
+    "src/core/lib/support/cpu_windows.c",
+    "src/core/lib/support/env_linux.c",
+    "src/core/lib/support/env_posix.c",
+    "src/core/lib/support/env_win32.c",
+    "src/core/lib/support/histogram.c",
+    "src/core/lib/support/host_port.c",
+    "src/core/lib/support/load_file.c",
+    "src/core/lib/support/log.c",
+    "src/core/lib/support/log_android.c",
+    "src/core/lib/support/log_linux.c",
+    "src/core/lib/support/log_posix.c",
+    "src/core/lib/support/log_win32.c",
+    "src/core/lib/support/murmur_hash.c",
+    "src/core/lib/support/slice.c",
+    "src/core/lib/support/slice_buffer.c",
+    "src/core/lib/support/stack_lockfree.c",
+    "src/core/lib/support/string.c",
+    "src/core/lib/support/string_posix.c",
+    "src/core/lib/support/string_win32.c",
+    "src/core/lib/support/subprocess_posix.c",
+    "src/core/lib/support/subprocess_windows.c",
+    "src/core/lib/support/sync.c",
+    "src/core/lib/support/sync_posix.c",
+    "src/core/lib/support/sync_win32.c",
+    "src/core/lib/support/thd.c",
+    "src/core/lib/support/thd_posix.c",
+    "src/core/lib/support/thd_win32.c",
+    "src/core/lib/support/time.c",
+    "src/core/lib/support/time_posix.c",
+    "src/core/lib/support/time_precise.c",
+    "src/core/lib/support/time_win32.c",
+    "src/core/lib/support/tls_pthread.c",
+    "src/core/lib/support/tmpfile_posix.c",
+    "src/core/lib/support/tmpfile_win32.c",
+    "src/core/lib/support/wrap_memcpy.c",
     "binding.gyp"
   ],
   "main": "src/node/index.js",
diff --git a/package.xml b/package.xml
index 4a99922..bb969d1 100644
--- a/package.xml
+++ b/package.xml
@@ -92,62 +92,62 @@
     <file baseinstalldir="/" name="include/grpc/impl/codegen/sync_posix.h" role="src" />
     <file baseinstalldir="/" name="include/grpc/impl/codegen/sync_win32.h" role="src" />
     <file baseinstalldir="/" name="include/grpc/impl/codegen/time.h" role="src" />
-    <file baseinstalldir="/" name="src/core/profiling/timers.h" role="src" />
-    <file baseinstalldir="/" name="src/core/support/backoff.h" role="src" />
-    <file baseinstalldir="/" name="src/core/support/block_annotate.h" role="src" />
-    <file baseinstalldir="/" name="src/core/support/env.h" role="src" />
-    <file baseinstalldir="/" name="src/core/support/load_file.h" role="src" />
-    <file baseinstalldir="/" name="src/core/support/murmur_hash.h" role="src" />
-    <file baseinstalldir="/" name="src/core/support/stack_lockfree.h" role="src" />
-    <file baseinstalldir="/" name="src/core/support/string.h" role="src" />
-    <file baseinstalldir="/" name="src/core/support/string_win32.h" role="src" />
-    <file baseinstalldir="/" name="src/core/support/thd_internal.h" role="src" />
-    <file baseinstalldir="/" name="src/core/support/time_precise.h" role="src" />
-    <file baseinstalldir="/" name="src/core/support/tmpfile.h" role="src" />
-    <file baseinstalldir="/" name="src/core/profiling/basic_timers.c" role="src" />
-    <file baseinstalldir="/" name="src/core/profiling/stap_timers.c" role="src" />
-    <file baseinstalldir="/" name="src/core/support/alloc.c" role="src" />
-    <file baseinstalldir="/" name="src/core/support/avl.c" role="src" />
-    <file baseinstalldir="/" name="src/core/support/backoff.c" role="src" />
-    <file baseinstalldir="/" name="src/core/support/cmdline.c" role="src" />
-    <file baseinstalldir="/" name="src/core/support/cpu_iphone.c" role="src" />
-    <file baseinstalldir="/" name="src/core/support/cpu_linux.c" role="src" />
-    <file baseinstalldir="/" name="src/core/support/cpu_posix.c" role="src" />
-    <file baseinstalldir="/" name="src/core/support/cpu_windows.c" role="src" />
-    <file baseinstalldir="/" name="src/core/support/env_linux.c" role="src" />
-    <file baseinstalldir="/" name="src/core/support/env_posix.c" role="src" />
-    <file baseinstalldir="/" name="src/core/support/env_win32.c" role="src" />
-    <file baseinstalldir="/" name="src/core/support/histogram.c" role="src" />
-    <file baseinstalldir="/" name="src/core/support/host_port.c" role="src" />
-    <file baseinstalldir="/" name="src/core/support/load_file.c" role="src" />
-    <file baseinstalldir="/" name="src/core/support/log.c" role="src" />
-    <file baseinstalldir="/" name="src/core/support/log_android.c" role="src" />
-    <file baseinstalldir="/" name="src/core/support/log_linux.c" role="src" />
-    <file baseinstalldir="/" name="src/core/support/log_posix.c" role="src" />
-    <file baseinstalldir="/" name="src/core/support/log_win32.c" role="src" />
-    <file baseinstalldir="/" name="src/core/support/murmur_hash.c" role="src" />
-    <file baseinstalldir="/" name="src/core/support/slice.c" role="src" />
-    <file baseinstalldir="/" name="src/core/support/slice_buffer.c" role="src" />
-    <file baseinstalldir="/" name="src/core/support/stack_lockfree.c" role="src" />
-    <file baseinstalldir="/" name="src/core/support/string.c" role="src" />
-    <file baseinstalldir="/" name="src/core/support/string_posix.c" role="src" />
-    <file baseinstalldir="/" name="src/core/support/string_win32.c" role="src" />
-    <file baseinstalldir="/" name="src/core/support/subprocess_posix.c" role="src" />
-    <file baseinstalldir="/" name="src/core/support/subprocess_windows.c" role="src" />
-    <file baseinstalldir="/" name="src/core/support/sync.c" role="src" />
-    <file baseinstalldir="/" name="src/core/support/sync_posix.c" role="src" />
-    <file baseinstalldir="/" name="src/core/support/sync_win32.c" role="src" />
-    <file baseinstalldir="/" name="src/core/support/thd.c" role="src" />
-    <file baseinstalldir="/" name="src/core/support/thd_posix.c" role="src" />
-    <file baseinstalldir="/" name="src/core/support/thd_win32.c" role="src" />
-    <file baseinstalldir="/" name="src/core/support/time.c" role="src" />
-    <file baseinstalldir="/" name="src/core/support/time_posix.c" role="src" />
-    <file baseinstalldir="/" name="src/core/support/time_precise.c" role="src" />
-    <file baseinstalldir="/" name="src/core/support/time_win32.c" role="src" />
-    <file baseinstalldir="/" name="src/core/support/tls_pthread.c" role="src" />
-    <file baseinstalldir="/" name="src/core/support/tmpfile_posix.c" role="src" />
-    <file baseinstalldir="/" name="src/core/support/tmpfile_win32.c" role="src" />
-    <file baseinstalldir="/" name="src/core/support/wrap_memcpy.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/profiling/timers.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/support/backoff.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/support/block_annotate.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/support/env.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/support/load_file.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/support/murmur_hash.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/support/stack_lockfree.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/support/string.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/support/string_win32.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/support/thd_internal.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/support/time_precise.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/support/tmpfile.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/profiling/basic_timers.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/profiling/stap_timers.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/support/alloc.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/support/avl.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/support/backoff.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/support/cmdline.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/support/cpu_iphone.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/support/cpu_linux.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/support/cpu_posix.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/support/cpu_windows.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/support/env_linux.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/support/env_posix.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/support/env_win32.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/support/histogram.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/support/host_port.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/support/load_file.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/support/log.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/support/log_android.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/support/log_linux.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/support/log_posix.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/support/log_win32.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/support/murmur_hash.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/support/slice.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/support/slice_buffer.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/support/stack_lockfree.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/support/string.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/support/string_posix.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/support/string_win32.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/support/subprocess_posix.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/support/subprocess_windows.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/support/sync.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/support/sync_posix.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/support/sync_win32.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/support/thd.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/support/thd_posix.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/support/thd_win32.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/support/time.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/support/time_posix.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/support/time_precise.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/support/time_win32.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/support/tls_pthread.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/support/tmpfile_posix.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/support/tmpfile_win32.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/support/wrap_memcpy.c" role="src" />
     <file baseinstalldir="/" name="include/grpc/grpc_security.h" role="src" />
     <file baseinstalldir="/" name="include/grpc/byte_buffer.h" role="src" />
     <file baseinstalldir="/" name="include/grpc/byte_buffer_reader.h" role="src" />
@@ -161,308 +161,308 @@
     <file baseinstalldir="/" name="include/grpc/impl/codegen/propagation_bits.h" role="src" />
     <file baseinstalldir="/" name="include/grpc/impl/codegen/status.h" role="src" />
     <file baseinstalldir="/" name="include/grpc/census.h" role="src" />
-    <file baseinstalldir="/" name="src/core/census/grpc_filter.h" role="src" />
-    <file baseinstalldir="/" name="src/core/census/grpc_plugin.h" role="src" />
-    <file baseinstalldir="/" name="src/core/channel/channel_args.h" role="src" />
-    <file baseinstalldir="/" name="src/core/channel/channel_stack.h" role="src" />
-    <file baseinstalldir="/" name="src/core/channel/channel_stack_builder.h" role="src" />
-    <file baseinstalldir="/" name="src/core/channel/client_channel.h" role="src" />
-    <file baseinstalldir="/" name="src/core/channel/compress_filter.h" role="src" />
-    <file baseinstalldir="/" name="src/core/channel/connected_channel.h" role="src" />
-    <file baseinstalldir="/" name="src/core/channel/context.h" role="src" />
-    <file baseinstalldir="/" name="src/core/channel/http_client_filter.h" role="src" />
-    <file baseinstalldir="/" name="src/core/channel/http_server_filter.h" role="src" />
-    <file baseinstalldir="/" name="src/core/channel/subchannel_call_holder.h" role="src" />
-    <file baseinstalldir="/" name="src/core/client_config/client_config.h" role="src" />
-    <file baseinstalldir="/" name="src/core/client_config/connector.h" role="src" />
-    <file baseinstalldir="/" name="src/core/client_config/initial_connect_string.h" role="src" />
-    <file baseinstalldir="/" name="src/core/client_config/lb_policies/load_balancer_api.h" role="src" />
-    <file baseinstalldir="/" name="src/core/client_config/lb_policies/pick_first.h" role="src" />
-    <file baseinstalldir="/" name="src/core/client_config/lb_policies/round_robin.h" role="src" />
-    <file baseinstalldir="/" name="src/core/client_config/lb_policy.h" role="src" />
-    <file baseinstalldir="/" name="src/core/client_config/lb_policy_factory.h" role="src" />
-    <file baseinstalldir="/" name="src/core/client_config/lb_policy_registry.h" role="src" />
-    <file baseinstalldir="/" name="src/core/client_config/resolver.h" role="src" />
-    <file baseinstalldir="/" name="src/core/client_config/resolver_factory.h" role="src" />
-    <file baseinstalldir="/" name="src/core/client_config/resolver_registry.h" role="src" />
-    <file baseinstalldir="/" name="src/core/client_config/resolvers/dns_resolver.h" role="src" />
-    <file baseinstalldir="/" name="src/core/client_config/resolvers/sockaddr_resolver.h" role="src" />
-    <file baseinstalldir="/" name="src/core/client_config/subchannel.h" role="src" />
-    <file baseinstalldir="/" name="src/core/client_config/subchannel_factory.h" role="src" />
-    <file baseinstalldir="/" name="src/core/client_config/subchannel_index.h" role="src" />
-    <file baseinstalldir="/" name="src/core/client_config/uri_parser.h" role="src" />
-    <file baseinstalldir="/" name="src/core/compression/algorithm_metadata.h" role="src" />
-    <file baseinstalldir="/" name="src/core/compression/message_compress.h" role="src" />
-    <file baseinstalldir="/" name="src/core/debug/trace.h" role="src" />
-    <file baseinstalldir="/" name="src/core/http/format_request.h" role="src" />
-    <file baseinstalldir="/" name="src/core/http/httpcli.h" role="src" />
-    <file baseinstalldir="/" name="src/core/http/parser.h" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/closure.h" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/endpoint.h" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/endpoint_pair.h" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/exec_ctx.h" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/executor.h" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/fd_posix.h" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/iocp_windows.h" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/iomgr.h" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/iomgr_internal.h" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/iomgr_posix.h" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/pollset.h" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/pollset_posix.h" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/pollset_set.h" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/pollset_set_posix.h" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/pollset_set_windows.h" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/pollset_windows.h" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/resolve_address.h" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/sockaddr.h" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/sockaddr_posix.h" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/sockaddr_utils.h" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/sockaddr_win32.h" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/socket_utils_posix.h" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/socket_windows.h" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/tcp_client.h" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/tcp_posix.h" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/tcp_server.h" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/tcp_windows.h" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/time_averaged_stats.h" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/timer.h" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/timer_heap.h" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/udp_server.h" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/unix_sockets_posix.h" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/wakeup_fd_pipe.h" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/wakeup_fd_posix.h" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/workqueue.h" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/workqueue_posix.h" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/workqueue_windows.h" role="src" />
-    <file baseinstalldir="/" name="src/core/json/json.h" role="src" />
-    <file baseinstalldir="/" name="src/core/json/json_common.h" role="src" />
-    <file baseinstalldir="/" name="src/core/json/json_reader.h" role="src" />
-    <file baseinstalldir="/" name="src/core/json/json_writer.h" role="src" />
-    <file baseinstalldir="/" name="src/core/proto/grpc/lb/v0/load_balancer.pb.h" role="src" />
-    <file baseinstalldir="/" name="src/core/statistics/census_interface.h" role="src" />
-    <file baseinstalldir="/" name="src/core/statistics/census_rpc_stats.h" role="src" />
-    <file baseinstalldir="/" name="src/core/surface/api_trace.h" role="src" />
-    <file baseinstalldir="/" name="src/core/surface/call.h" role="src" />
-    <file baseinstalldir="/" name="src/core/surface/call_test_only.h" role="src" />
-    <file baseinstalldir="/" name="src/core/surface/channel.h" role="src" />
-    <file baseinstalldir="/" name="src/core/surface/channel_init.h" role="src" />
-    <file baseinstalldir="/" name="src/core/surface/channel_stack_type.h" role="src" />
-    <file baseinstalldir="/" name="src/core/surface/completion_queue.h" role="src" />
-    <file baseinstalldir="/" name="src/core/surface/event_string.h" role="src" />
-    <file baseinstalldir="/" name="src/core/surface/init.h" role="src" />
-    <file baseinstalldir="/" name="src/core/surface/lame_client.h" role="src" />
-    <file baseinstalldir="/" name="src/core/surface/server.h" role="src" />
-    <file baseinstalldir="/" name="src/core/surface/surface_trace.h" role="src" />
-    <file baseinstalldir="/" name="src/core/transport/byte_stream.h" role="src" />
-    <file baseinstalldir="/" name="src/core/transport/chttp2/alpn.h" role="src" />
-    <file baseinstalldir="/" name="src/core/transport/chttp2/bin_encoder.h" role="src" />
-    <file baseinstalldir="/" name="src/core/transport/chttp2/frame.h" role="src" />
-    <file baseinstalldir="/" name="src/core/transport/chttp2/frame_data.h" role="src" />
-    <file baseinstalldir="/" name="src/core/transport/chttp2/frame_goaway.h" role="src" />
-    <file baseinstalldir="/" name="src/core/transport/chttp2/frame_ping.h" role="src" />
-    <file baseinstalldir="/" name="src/core/transport/chttp2/frame_rst_stream.h" role="src" />
-    <file baseinstalldir="/" name="src/core/transport/chttp2/frame_settings.h" role="src" />
-    <file baseinstalldir="/" name="src/core/transport/chttp2/frame_window_update.h" role="src" />
-    <file baseinstalldir="/" name="src/core/transport/chttp2/hpack_encoder.h" role="src" />
-    <file baseinstalldir="/" name="src/core/transport/chttp2/hpack_parser.h" role="src" />
-    <file baseinstalldir="/" name="src/core/transport/chttp2/hpack_table.h" role="src" />
-    <file baseinstalldir="/" name="src/core/transport/chttp2/http2_errors.h" role="src" />
-    <file baseinstalldir="/" name="src/core/transport/chttp2/huffsyms.h" role="src" />
-    <file baseinstalldir="/" name="src/core/transport/chttp2/incoming_metadata.h" role="src" />
-    <file baseinstalldir="/" name="src/core/transport/chttp2/internal.h" role="src" />
-    <file baseinstalldir="/" name="src/core/transport/chttp2/status_conversion.h" role="src" />
-    <file baseinstalldir="/" name="src/core/transport/chttp2/stream_map.h" role="src" />
-    <file baseinstalldir="/" name="src/core/transport/chttp2/timeout_encoding.h" role="src" />
-    <file baseinstalldir="/" name="src/core/transport/chttp2/varint.h" role="src" />
-    <file baseinstalldir="/" name="src/core/transport/chttp2_transport.h" role="src" />
-    <file baseinstalldir="/" name="src/core/transport/connectivity_state.h" role="src" />
-    <file baseinstalldir="/" name="src/core/transport/metadata.h" role="src" />
-    <file baseinstalldir="/" name="src/core/transport/metadata_batch.h" role="src" />
-    <file baseinstalldir="/" name="src/core/transport/static_metadata.h" role="src" />
-    <file baseinstalldir="/" name="src/core/transport/transport.h" role="src" />
-    <file baseinstalldir="/" name="src/core/transport/transport_impl.h" role="src" />
-    <file baseinstalldir="/" name="src/core/security/auth_filters.h" role="src" />
-    <file baseinstalldir="/" name="src/core/security/b64.h" role="src" />
-    <file baseinstalldir="/" name="src/core/security/credentials.h" role="src" />
-    <file baseinstalldir="/" name="src/core/security/handshake.h" role="src" />
-    <file baseinstalldir="/" name="src/core/security/json_token.h" role="src" />
-    <file baseinstalldir="/" name="src/core/security/jwt_verifier.h" role="src" />
-    <file baseinstalldir="/" name="src/core/security/secure_endpoint.h" role="src" />
-    <file baseinstalldir="/" name="src/core/security/security_connector.h" role="src" />
-    <file baseinstalldir="/" name="src/core/security/security_context.h" role="src" />
-    <file baseinstalldir="/" name="src/core/tsi/fake_transport_security.h" role="src" />
-    <file baseinstalldir="/" name="src/core/tsi/ssl_transport_security.h" role="src" />
-    <file baseinstalldir="/" name="src/core/tsi/ssl_types.h" role="src" />
-    <file baseinstalldir="/" name="src/core/tsi/transport_security.h" role="src" />
-    <file baseinstalldir="/" name="src/core/tsi/transport_security_interface.h" role="src" />
-    <file baseinstalldir="/" name="src/core/census/aggregation.h" role="src" />
-    <file baseinstalldir="/" name="src/core/census/mlog.h" role="src" />
-    <file baseinstalldir="/" name="src/core/census/rpc_metric_id.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/census/grpc_filter.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/census/grpc_plugin.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/channel/channel_args.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/channel/channel_stack.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/channel/channel_stack_builder.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/channel/client_channel.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/channel/compress_filter.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/channel/connected_channel.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/channel/context.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/channel/http_client_filter.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/channel/http_server_filter.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/channel/subchannel_call_holder.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/client_config/client_config.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/client_config/connector.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/client_config/initial_connect_string.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/client_config/lb_policies/load_balancer_api.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/client_config/lb_policies/pick_first.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/client_config/lb_policies/round_robin.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/client_config/lb_policy.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/client_config/lb_policy_factory.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/client_config/lb_policy_registry.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/client_config/resolver.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/client_config/resolver_factory.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/client_config/resolver_registry.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/client_config/resolvers/dns_resolver.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/client_config/resolvers/sockaddr_resolver.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/client_config/subchannel.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/client_config/subchannel_factory.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/client_config/subchannel_index.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/client_config/uri_parser.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/compression/algorithm_metadata.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/compression/message_compress.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/debug/trace.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/http/format_request.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/http/httpcli.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/http/parser.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/closure.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/endpoint.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/endpoint_pair.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/exec_ctx.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/executor.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/fd_posix.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/iocp_windows.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/iomgr.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/iomgr_internal.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/iomgr_posix.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/pollset.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/pollset_posix.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/pollset_set.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/pollset_set_posix.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/pollset_set_windows.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/pollset_windows.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/resolve_address.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/sockaddr.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/sockaddr_posix.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/sockaddr_utils.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/sockaddr_win32.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/socket_utils_posix.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/socket_windows.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/tcp_client.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/tcp_posix.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/tcp_server.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/tcp_windows.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/time_averaged_stats.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/timer.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/timer_heap.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/udp_server.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/unix_sockets_posix.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/wakeup_fd_pipe.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/wakeup_fd_posix.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/workqueue.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/workqueue_posix.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/workqueue_windows.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/json/json.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/json/json_common.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/json/json_reader.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/json/json_writer.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/proto/grpc/lb/v0/load_balancer.pb.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/statistics/census_interface.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/statistics/census_rpc_stats.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/surface/api_trace.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/surface/call.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/surface/call_test_only.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/surface/channel.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/surface/channel_init.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/surface/channel_stack_type.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/surface/completion_queue.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/surface/event_string.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/surface/init.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/surface/lame_client.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/surface/server.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/surface/surface_trace.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/transport/byte_stream.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/transport/chttp2/alpn.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/transport/chttp2/bin_encoder.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/transport/chttp2/frame.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/transport/chttp2/frame_data.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/transport/chttp2/frame_goaway.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/transport/chttp2/frame_ping.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/transport/chttp2/frame_rst_stream.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/transport/chttp2/frame_settings.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/transport/chttp2/frame_window_update.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/transport/chttp2/hpack_encoder.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/transport/chttp2/hpack_parser.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/transport/chttp2/hpack_table.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/transport/chttp2/http2_errors.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/transport/chttp2/huffsyms.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/transport/chttp2/incoming_metadata.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/transport/chttp2/internal.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/transport/chttp2/status_conversion.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/transport/chttp2/stream_map.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/transport/chttp2/timeout_encoding.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/transport/chttp2/varint.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/transport/chttp2_transport.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/transport/connectivity_state.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/transport/metadata.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/transport/metadata_batch.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/transport/static_metadata.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/transport/transport.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/transport/transport_impl.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/security/auth_filters.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/security/b64.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/security/credentials.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/security/handshake.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/security/json_token.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/security/jwt_verifier.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/security/secure_endpoint.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/security/security_connector.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/security/security_context.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/tsi/fake_transport_security.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/tsi/ssl_transport_security.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/tsi/ssl_types.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/tsi/transport_security.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/tsi/transport_security_interface.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/census/aggregation.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/census/mlog.h" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/census/rpc_metric_id.h" role="src" />
     <file baseinstalldir="/" name="third_party/nanopb/pb.h" role="src" />
     <file baseinstalldir="/" name="third_party/nanopb/pb_common.h" role="src" />
     <file baseinstalldir="/" name="third_party/nanopb/pb_decode.h" role="src" />
     <file baseinstalldir="/" name="third_party/nanopb/pb_encode.h" role="src" />
-    <file baseinstalldir="/" name="src/core/census/grpc_context.c" role="src" />
-    <file baseinstalldir="/" name="src/core/census/grpc_filter.c" role="src" />
-    <file baseinstalldir="/" name="src/core/census/grpc_plugin.c" role="src" />
-    <file baseinstalldir="/" name="src/core/channel/channel_args.c" role="src" />
-    <file baseinstalldir="/" name="src/core/channel/channel_stack.c" role="src" />
-    <file baseinstalldir="/" name="src/core/channel/channel_stack_builder.c" role="src" />
-    <file baseinstalldir="/" name="src/core/channel/client_channel.c" role="src" />
-    <file baseinstalldir="/" name="src/core/channel/compress_filter.c" role="src" />
-    <file baseinstalldir="/" name="src/core/channel/connected_channel.c" role="src" />
-    <file baseinstalldir="/" name="src/core/channel/http_client_filter.c" role="src" />
-    <file baseinstalldir="/" name="src/core/channel/http_server_filter.c" role="src" />
-    <file baseinstalldir="/" name="src/core/channel/subchannel_call_holder.c" role="src" />
-    <file baseinstalldir="/" name="src/core/client_config/client_config.c" role="src" />
-    <file baseinstalldir="/" name="src/core/client_config/connector.c" role="src" />
-    <file baseinstalldir="/" name="src/core/client_config/default_initial_connect_string.c" role="src" />
-    <file baseinstalldir="/" name="src/core/client_config/initial_connect_string.c" role="src" />
-    <file baseinstalldir="/" name="src/core/client_config/lb_policies/load_balancer_api.c" role="src" />
-    <file baseinstalldir="/" name="src/core/client_config/lb_policies/pick_first.c" role="src" />
-    <file baseinstalldir="/" name="src/core/client_config/lb_policies/round_robin.c" role="src" />
-    <file baseinstalldir="/" name="src/core/client_config/lb_policy.c" role="src" />
-    <file baseinstalldir="/" name="src/core/client_config/lb_policy_factory.c" role="src" />
-    <file baseinstalldir="/" name="src/core/client_config/lb_policy_registry.c" role="src" />
-    <file baseinstalldir="/" name="src/core/client_config/resolver.c" role="src" />
-    <file baseinstalldir="/" name="src/core/client_config/resolver_factory.c" role="src" />
-    <file baseinstalldir="/" name="src/core/client_config/resolver_registry.c" role="src" />
-    <file baseinstalldir="/" name="src/core/client_config/resolvers/dns_resolver.c" role="src" />
-    <file baseinstalldir="/" name="src/core/client_config/resolvers/sockaddr_resolver.c" role="src" />
-    <file baseinstalldir="/" name="src/core/client_config/subchannel.c" role="src" />
-    <file baseinstalldir="/" name="src/core/client_config/subchannel_factory.c" role="src" />
-    <file baseinstalldir="/" name="src/core/client_config/subchannel_index.c" role="src" />
-    <file baseinstalldir="/" name="src/core/client_config/uri_parser.c" role="src" />
-    <file baseinstalldir="/" name="src/core/compression/compression_algorithm.c" role="src" />
-    <file baseinstalldir="/" name="src/core/compression/message_compress.c" role="src" />
-    <file baseinstalldir="/" name="src/core/debug/trace.c" role="src" />
-    <file baseinstalldir="/" name="src/core/http/format_request.c" role="src" />
-    <file baseinstalldir="/" name="src/core/http/httpcli.c" role="src" />
-    <file baseinstalldir="/" name="src/core/http/parser.c" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/closure.c" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/endpoint.c" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/endpoint_pair_posix.c" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/endpoint_pair_windows.c" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/exec_ctx.c" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/executor.c" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/fd_posix.c" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/iocp_windows.c" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/iomgr.c" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/iomgr_posix.c" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/iomgr_windows.c" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/pollset_multipoller_with_epoll.c" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/pollset_multipoller_with_poll_posix.c" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/pollset_posix.c" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/pollset_set_posix.c" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/pollset_set_windows.c" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/pollset_windows.c" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/resolve_address_posix.c" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/resolve_address_windows.c" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/sockaddr_utils.c" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/socket_utils_common_posix.c" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/socket_utils_linux.c" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/socket_utils_posix.c" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/socket_windows.c" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/tcp_client_posix.c" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/tcp_client_windows.c" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/tcp_posix.c" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/tcp_server_posix.c" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/tcp_server_windows.c" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/tcp_windows.c" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/time_averaged_stats.c" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/timer.c" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/timer_heap.c" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/udp_server.c" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/unix_sockets_posix.c" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/unix_sockets_posix_noop.c" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/wakeup_fd_eventfd.c" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/wakeup_fd_nospecial.c" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/wakeup_fd_pipe.c" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/wakeup_fd_posix.c" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/workqueue_posix.c" role="src" />
-    <file baseinstalldir="/" name="src/core/iomgr/workqueue_windows.c" role="src" />
-    <file baseinstalldir="/" name="src/core/json/json.c" role="src" />
-    <file baseinstalldir="/" name="src/core/json/json_reader.c" role="src" />
-    <file baseinstalldir="/" name="src/core/json/json_string.c" role="src" />
-    <file baseinstalldir="/" name="src/core/json/json_writer.c" role="src" />
-    <file baseinstalldir="/" name="src/core/proto/grpc/lb/v0/load_balancer.pb.c" role="src" />
-    <file baseinstalldir="/" name="src/core/surface/alarm.c" role="src" />
-    <file baseinstalldir="/" name="src/core/surface/api_trace.c" role="src" />
-    <file baseinstalldir="/" name="src/core/surface/byte_buffer.c" role="src" />
-    <file baseinstalldir="/" name="src/core/surface/byte_buffer_reader.c" role="src" />
-    <file baseinstalldir="/" name="src/core/surface/call.c" role="src" />
-    <file baseinstalldir="/" name="src/core/surface/call_details.c" role="src" />
-    <file baseinstalldir="/" name="src/core/surface/call_log_batch.c" role="src" />
-    <file baseinstalldir="/" name="src/core/surface/channel.c" role="src" />
-    <file baseinstalldir="/" name="src/core/surface/channel_connectivity.c" role="src" />
-    <file baseinstalldir="/" name="src/core/surface/channel_create.c" role="src" />
-    <file baseinstalldir="/" name="src/core/surface/channel_init.c" role="src" />
-    <file baseinstalldir="/" name="src/core/surface/channel_ping.c" role="src" />
-    <file baseinstalldir="/" name="src/core/surface/channel_stack_type.c" role="src" />
-    <file baseinstalldir="/" name="src/core/surface/completion_queue.c" role="src" />
-    <file baseinstalldir="/" name="src/core/surface/event_string.c" role="src" />
-    <file baseinstalldir="/" name="src/core/surface/init.c" role="src" />
-    <file baseinstalldir="/" name="src/core/surface/lame_client.c" role="src" />
-    <file baseinstalldir="/" name="src/core/surface/metadata_array.c" role="src" />
-    <file baseinstalldir="/" name="src/core/surface/server.c" role="src" />
-    <file baseinstalldir="/" name="src/core/surface/server_chttp2.c" role="src" />
-    <file baseinstalldir="/" name="src/core/surface/validate_metadata.c" role="src" />
-    <file baseinstalldir="/" name="src/core/surface/version.c" role="src" />
-    <file baseinstalldir="/" name="src/core/transport/byte_stream.c" role="src" />
-    <file baseinstalldir="/" name="src/core/transport/chttp2/alpn.c" role="src" />
-    <file baseinstalldir="/" name="src/core/transport/chttp2/bin_encoder.c" role="src" />
-    <file baseinstalldir="/" name="src/core/transport/chttp2/frame_data.c" role="src" />
-    <file baseinstalldir="/" name="src/core/transport/chttp2/frame_goaway.c" role="src" />
-    <file baseinstalldir="/" name="src/core/transport/chttp2/frame_ping.c" role="src" />
-    <file baseinstalldir="/" name="src/core/transport/chttp2/frame_rst_stream.c" role="src" />
-    <file baseinstalldir="/" name="src/core/transport/chttp2/frame_settings.c" role="src" />
-    <file baseinstalldir="/" name="src/core/transport/chttp2/frame_window_update.c" role="src" />
-    <file baseinstalldir="/" name="src/core/transport/chttp2/hpack_encoder.c" role="src" />
-    <file baseinstalldir="/" name="src/core/transport/chttp2/hpack_parser.c" role="src" />
-    <file baseinstalldir="/" name="src/core/transport/chttp2/hpack_table.c" role="src" />
-    <file baseinstalldir="/" name="src/core/transport/chttp2/huffsyms.c" role="src" />
-    <file baseinstalldir="/" name="src/core/transport/chttp2/incoming_metadata.c" role="src" />
-    <file baseinstalldir="/" name="src/core/transport/chttp2/parsing.c" role="src" />
-    <file baseinstalldir="/" name="src/core/transport/chttp2/status_conversion.c" role="src" />
-    <file baseinstalldir="/" name="src/core/transport/chttp2/stream_lists.c" role="src" />
-    <file baseinstalldir="/" name="src/core/transport/chttp2/stream_map.c" role="src" />
-    <file baseinstalldir="/" name="src/core/transport/chttp2/timeout_encoding.c" role="src" />
-    <file baseinstalldir="/" name="src/core/transport/chttp2/varint.c" role="src" />
-    <file baseinstalldir="/" name="src/core/transport/chttp2/writing.c" role="src" />
-    <file baseinstalldir="/" name="src/core/transport/chttp2_transport.c" role="src" />
-    <file baseinstalldir="/" name="src/core/transport/connectivity_state.c" role="src" />
-    <file baseinstalldir="/" name="src/core/transport/metadata.c" role="src" />
-    <file baseinstalldir="/" name="src/core/transport/metadata_batch.c" role="src" />
-    <file baseinstalldir="/" name="src/core/transport/static_metadata.c" role="src" />
-    <file baseinstalldir="/" name="src/core/transport/transport.c" role="src" />
-    <file baseinstalldir="/" name="src/core/transport/transport_op_string.c" role="src" />
-    <file baseinstalldir="/" name="src/core/http/httpcli_security_connector.c" role="src" />
-    <file baseinstalldir="/" name="src/core/security/b64.c" role="src" />
-    <file baseinstalldir="/" name="src/core/security/client_auth_filter.c" role="src" />
-    <file baseinstalldir="/" name="src/core/security/credentials.c" role="src" />
-    <file baseinstalldir="/" name="src/core/security/credentials_metadata.c" role="src" />
-    <file baseinstalldir="/" name="src/core/security/credentials_posix.c" role="src" />
-    <file baseinstalldir="/" name="src/core/security/credentials_win32.c" role="src" />
-    <file baseinstalldir="/" name="src/core/security/google_default_credentials.c" role="src" />
-    <file baseinstalldir="/" name="src/core/security/handshake.c" role="src" />
-    <file baseinstalldir="/" name="src/core/security/json_token.c" role="src" />
-    <file baseinstalldir="/" name="src/core/security/jwt_verifier.c" role="src" />
-    <file baseinstalldir="/" name="src/core/security/secure_endpoint.c" role="src" />
-    <file baseinstalldir="/" name="src/core/security/security_connector.c" role="src" />
-    <file baseinstalldir="/" name="src/core/security/security_context.c" role="src" />
-    <file baseinstalldir="/" name="src/core/security/server_auth_filter.c" role="src" />
-    <file baseinstalldir="/" name="src/core/security/server_secure_chttp2.c" role="src" />
-    <file baseinstalldir="/" name="src/core/surface/init_secure.c" role="src" />
-    <file baseinstalldir="/" name="src/core/surface/secure_channel_create.c" role="src" />
-    <file baseinstalldir="/" name="src/core/tsi/fake_transport_security.c" role="src" />
-    <file baseinstalldir="/" name="src/core/tsi/ssl_transport_security.c" role="src" />
-    <file baseinstalldir="/" name="src/core/tsi/transport_security.c" role="src" />
-    <file baseinstalldir="/" name="src/core/census/context.c" role="src" />
-    <file baseinstalldir="/" name="src/core/census/initialize.c" role="src" />
-    <file baseinstalldir="/" name="src/core/census/mlog.c" role="src" />
-    <file baseinstalldir="/" name="src/core/census/operation.c" role="src" />
-    <file baseinstalldir="/" name="src/core/census/placeholders.c" role="src" />
-    <file baseinstalldir="/" name="src/core/census/tracing.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/census/grpc_context.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/census/grpc_filter.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/census/grpc_plugin.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/channel/channel_args.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/channel/channel_stack.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/channel/channel_stack_builder.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/channel/client_channel.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/channel/compress_filter.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/channel/connected_channel.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/channel/http_client_filter.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/channel/http_server_filter.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/channel/subchannel_call_holder.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/client_config/client_config.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/client_config/connector.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/client_config/default_initial_connect_string.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/client_config/initial_connect_string.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/client_config/lb_policies/load_balancer_api.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/client_config/lb_policies/pick_first.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/client_config/lb_policies/round_robin.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/client_config/lb_policy.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/client_config/lb_policy_factory.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/client_config/lb_policy_registry.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/client_config/resolver.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/client_config/resolver_factory.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/client_config/resolver_registry.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/client_config/resolvers/dns_resolver.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/client_config/resolvers/sockaddr_resolver.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/client_config/subchannel.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/client_config/subchannel_factory.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/client_config/subchannel_index.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/client_config/uri_parser.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/compression/compression_algorithm.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/compression/message_compress.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/debug/trace.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/http/format_request.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/http/httpcli.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/http/parser.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/closure.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/endpoint.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/endpoint_pair_posix.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/endpoint_pair_windows.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/exec_ctx.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/executor.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/fd_posix.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/iocp_windows.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/iomgr.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/iomgr_posix.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/iomgr_windows.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/pollset_multipoller_with_epoll.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/pollset_multipoller_with_poll_posix.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/pollset_posix.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/pollset_set_posix.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/pollset_set_windows.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/pollset_windows.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/resolve_address_posix.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/resolve_address_windows.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/sockaddr_utils.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/socket_utils_common_posix.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/socket_utils_linux.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/socket_utils_posix.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/socket_windows.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/tcp_client_posix.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/tcp_client_windows.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/tcp_posix.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/tcp_server_posix.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/tcp_server_windows.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/tcp_windows.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/time_averaged_stats.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/timer.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/timer_heap.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/udp_server.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/unix_sockets_posix.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/unix_sockets_posix_noop.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/wakeup_fd_eventfd.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/wakeup_fd_nospecial.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/wakeup_fd_pipe.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/wakeup_fd_posix.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/workqueue_posix.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/iomgr/workqueue_windows.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/json/json.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/json/json_reader.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/json/json_string.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/json/json_writer.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/proto/grpc/lb/v0/load_balancer.pb.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/surface/alarm.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/surface/api_trace.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/surface/byte_buffer.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/surface/byte_buffer_reader.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/surface/call.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/surface/call_details.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/surface/call_log_batch.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/surface/channel.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/surface/channel_connectivity.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/surface/channel_create.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/surface/channel_init.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/surface/channel_ping.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/surface/channel_stack_type.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/surface/completion_queue.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/surface/event_string.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/surface/init.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/surface/lame_client.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/surface/metadata_array.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/surface/server.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/surface/server_chttp2.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/surface/validate_metadata.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/surface/version.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/transport/byte_stream.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/transport/chttp2/alpn.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/transport/chttp2/bin_encoder.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/transport/chttp2/frame_data.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/transport/chttp2/frame_goaway.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/transport/chttp2/frame_ping.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/transport/chttp2/frame_rst_stream.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/transport/chttp2/frame_settings.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/transport/chttp2/frame_window_update.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/transport/chttp2/hpack_encoder.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/transport/chttp2/hpack_parser.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/transport/chttp2/hpack_table.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/transport/chttp2/huffsyms.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/transport/chttp2/incoming_metadata.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/transport/chttp2/parsing.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/transport/chttp2/status_conversion.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/transport/chttp2/stream_lists.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/transport/chttp2/stream_map.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/transport/chttp2/timeout_encoding.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/transport/chttp2/varint.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/transport/chttp2/writing.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/transport/chttp2_transport.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/transport/connectivity_state.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/transport/metadata.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/transport/metadata_batch.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/transport/static_metadata.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/transport/transport.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/transport/transport_op_string.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/http/httpcli_security_connector.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/security/b64.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/security/client_auth_filter.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/security/credentials.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/security/credentials_metadata.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/security/credentials_posix.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/security/credentials_win32.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/security/google_default_credentials.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/security/handshake.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/security/json_token.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/security/jwt_verifier.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/security/secure_endpoint.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/security/security_connector.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/security/security_context.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/security/server_auth_filter.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/security/server_secure_chttp2.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/surface/init_secure.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/surface/secure_channel_create.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/tsi/fake_transport_security.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/tsi/ssl_transport_security.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/tsi/transport_security.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/census/context.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/census/initialize.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/census/mlog.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/census/operation.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/census/placeholders.c" role="src" />
+    <file baseinstalldir="/" name="src/core/lib/census/tracing.c" role="src" />
     <file baseinstalldir="/" name="third_party/nanopb/pb_common.c" role="src" />
     <file baseinstalldir="/" name="third_party/nanopb/pb_decode.c" role="src" />
     <file baseinstalldir="/" name="third_party/nanopb/pb_encode.c" role="src" />
diff --git a/src/core/iomgr/iomgr_posix.h b/src/core/iomgr/iomgr_posix.h
deleted file mode 100644
index 698fb6a..0000000
--- a/src/core/iomgr/iomgr_posix.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- *
- * Copyright 2015-2016, Google Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- *     * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *     * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- *     * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#ifndef GRPC_CORE_IOMGR_IOMGR_POSIX_H
-#define GRPC_CORE_IOMGR_IOMGR_POSIX_H
-
-#include "src/core/iomgr/iomgr_internal.h"
-
-#endif /* GRPC_CORE_IOMGR_IOMGR_POSIX_H */
diff --git a/src/core/iomgr/pollset_set_windows.h b/src/core/iomgr/pollset_set_windows.h
deleted file mode 100644
index 0f040fe..0000000
--- a/src/core/iomgr/pollset_set_windows.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- *
- * Copyright 2015-2016, Google Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- *     * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *     * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- *     * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#ifndef GRPC_CORE_IOMGR_POLLSET_SET_WINDOWS_H
-#define GRPC_CORE_IOMGR_POLLSET_SET_WINDOWS_H
-
-#include "src/core/iomgr/pollset_set.h"
-
-#endif /* GRPC_CORE_IOMGR_POLLSET_SET_WINDOWS_H */
diff --git a/src/core/census/README.md b/src/core/lib/census/README.md
similarity index 100%
rename from src/core/census/README.md
rename to src/core/lib/census/README.md
diff --git a/src/core/census/aggregation.h b/src/core/lib/census/aggregation.h
similarity index 95%
rename from src/core/census/aggregation.h
rename to src/core/lib/census/aggregation.h
index e0ef963..f353368 100644
--- a/src/core/census/aggregation.h
+++ b/src/core/lib/census/aggregation.h
@@ -33,8 +33,8 @@
 
 #include <stddef.h>
 
-#ifndef GRPC_CORE_CENSUS_AGGREGATION_H
-#define GRPC_CORE_CENSUS_AGGREGATION_H
+#ifndef GRPC_CORE_LIB_CENSUS_AGGREGATION_H
+#define GRPC_CORE_LIB_CENSUS_AGGREGATION_H
 
 /** Structure used to describe an aggregation type. */
 struct census_aggregation_ops {
@@ -63,4 +63,4 @@
   size_t (*print)(const void *aggregation, char *buffer, size_t n);
 };
 
-#endif /* GRPC_CORE_CENSUS_AGGREGATION_H */
+#endif /* GRPC_CORE_LIB_CENSUS_AGGREGATION_H */
diff --git a/src/core/census/context.c b/src/core/lib/census/context.c
similarity index 99%
rename from src/core/census/context.c
rename to src/core/lib/census/context.c
index 89b8ee0..5a118f4 100644
--- a/src/core/census/context.c
+++ b/src/core/lib/census/context.c
@@ -38,7 +38,7 @@
 #include <grpc/support/useful.h>
 #include <stdbool.h>
 #include <string.h>
-#include "src/core/support/string.h"
+#include "src/core/lib/support/string.h"
 
 // Functions in this file support the public context API, including
 // encoding/decoding as part of context propagation across RPC's. The overall
diff --git a/src/core/census/grpc_context.c b/src/core/lib/census/grpc_context.c
similarity index 94%
rename from src/core/census/grpc_context.c
rename to src/core/lib/census/grpc_context.c
index 4b61382..457c176 100644
--- a/src/core/census/grpc_context.c
+++ b/src/core/lib/census/grpc_context.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -33,8 +33,8 @@
 
 #include <grpc/census.h>
 #include <grpc/grpc.h>
-#include "src/core/surface/api_trace.h"
-#include "src/core/surface/call.h"
+#include "src/core/lib/surface/api_trace.h"
+#include "src/core/lib/surface/call.h"
 
 void grpc_census_call_set_context(grpc_call *call, census_context *context) {
   GRPC_API_TRACE("grpc_census_call_set_context(call=%p, census_context=%p)", 2,
diff --git a/src/core/census/grpc_filter.c b/src/core/lib/census/grpc_filter.c
similarity index 96%
rename from src/core/census/grpc_filter.c
rename to src/core/lib/census/grpc_filter.c
index 11120a2..d27d789 100644
--- a/src/core/census/grpc_filter.c
+++ b/src/core/lib/census/grpc_filter.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/census/grpc_filter.h"
+#include "src/core/lib/census/grpc_filter.h"
 
 #include <stdio.h>
 #include <string.h>
@@ -42,10 +42,10 @@
 #include <grpc/support/slice.h>
 #include <grpc/support/time.h>
 
-#include "src/core/channel/channel_stack.h"
-#include "src/core/statistics/census_interface.h"
-#include "src/core/statistics/census_rpc_stats.h"
-#include "src/core/transport/static_metadata.h"
+#include "src/core/lib/channel/channel_stack.h"
+#include "src/core/lib/statistics/census_interface.h"
+#include "src/core/lib/statistics/census_rpc_stats.h"
+#include "src/core/lib/transport/static_metadata.h"
 
 typedef struct call_data {
   census_op_id op_id;
diff --git a/src/core/census/grpc_filter.h b/src/core/lib/census/grpc_filter.h
similarity index 90%
rename from src/core/census/grpc_filter.h
rename to src/core/lib/census/grpc_filter.h
index 4699e4d..7ceafe5 100644
--- a/src/core/census/grpc_filter.h
+++ b/src/core/lib/census/grpc_filter.h
@@ -31,14 +31,14 @@
  *
  */
 
-#ifndef GRPC_CORE_CENSUS_GRPC_FILTER_H
-#define GRPC_CORE_CENSUS_GRPC_FILTER_H
+#ifndef GRPC_CORE_LIB_CENSUS_GRPC_FILTER_H
+#define GRPC_CORE_LIB_CENSUS_GRPC_FILTER_H
 
-#include "src/core/channel/channel_stack.h"
+#include "src/core/lib/channel/channel_stack.h"
 
 /* Census filters: provides tracing and stats collection functionalities. It
    needs to reside right below the surface filter in the channel stack. */
 extern const grpc_channel_filter grpc_client_census_filter;
 extern const grpc_channel_filter grpc_server_census_filter;
 
-#endif /* GRPC_CORE_CENSUS_GRPC_FILTER_H */
+#endif /* GRPC_CORE_LIB_CENSUS_GRPC_FILTER_H */
diff --git a/src/core/census/grpc_plugin.c b/src/core/lib/census/grpc_plugin.c
similarity index 93%
rename from src/core/census/grpc_plugin.c
rename to src/core/lib/census/grpc_plugin.c
index 3ca9400..12aca76 100644
--- a/src/core/census/grpc_plugin.c
+++ b/src/core/lib/census/grpc_plugin.c
@@ -31,15 +31,15 @@
  *
  */
 
-#include "src/core/census/grpc_plugin.h"
+#include "src/core/lib/census/grpc_plugin.h"
 
 #include <limits.h>
 
 #include <grpc/census.h>
 
-#include "src/core/census/grpc_filter.h"
-#include "src/core/channel/channel_stack_builder.h"
-#include "src/core/surface/channel_init.h"
+#include "src/core/lib/census/grpc_filter.h"
+#include "src/core/lib/channel/channel_stack_builder.h"
+#include "src/core/lib/surface/channel_init.h"
 
 static bool maybe_add_census_filter(grpc_channel_stack_builder *builder,
                                     void *arg_must_be_null) {
diff --git a/src/core/census/grpc_plugin.h b/src/core/lib/census/grpc_plugin.h
similarity index 92%
rename from src/core/census/grpc_plugin.h
rename to src/core/lib/census/grpc_plugin.h
index 9321c2c..33e5f0b 100644
--- a/src/core/census/grpc_plugin.h
+++ b/src/core/lib/census/grpc_plugin.h
@@ -31,10 +31,10 @@
  *
  */
 
-#ifndef GRPC_CORE_CENSUS_GRPC_PLUGIN_H
-#define GRPC_CORE_CENSUS_GRPC_PLUGIN_H
+#ifndef GRPC_CORE_LIB_CENSUS_GRPC_PLUGIN_H
+#define GRPC_CORE_LIB_CENSUS_GRPC_PLUGIN_H
 
 void census_grpc_plugin_init(void);
 void census_grpc_plugin_destroy(void);
 
-#endif /* GRPC_CORE_CENSUS_GRPC_PLUGIN_H */
+#endif /* GRPC_CORE_LIB_CENSUS_GRPC_PLUGIN_H */
diff --git a/src/core/census/initialize.c b/src/core/lib/census/initialize.c
similarity index 100%
rename from src/core/census/initialize.c
rename to src/core/lib/census/initialize.c
diff --git a/src/core/census/mlog.c b/src/core/lib/census/mlog.c
similarity index 99%
rename from src/core/census/mlog.c
rename to src/core/lib/census/mlog.c
index a2cc46d..9d47e80 100644
--- a/src/core/census/mlog.c
+++ b/src/core/lib/census/mlog.c
@@ -88,7 +88,7 @@
 // include the name of the structure, which will be passed as the first
 // argument. E.g. cl_block_initialize() will initialize a cl_block.
 
-#include "src/core/census/mlog.h"
+#include "src/core/lib/census/mlog.h"
 #include <grpc/support/alloc.h>
 #include <grpc/support/atm.h>
 #include <grpc/support/cpu.h>
diff --git a/src/core/census/mlog.h b/src/core/lib/census/mlog.h
similarity index 96%
rename from src/core/census/mlog.h
rename to src/core/lib/census/mlog.h
index bc6eaea..7fbdeda 100644
--- a/src/core/census/mlog.h
+++ b/src/core/lib/census/mlog.h
@@ -33,8 +33,8 @@
 
 /* A very fast in-memory log, optimized for multiple writers. */
 
-#ifndef GRPC_CORE_CENSUS_MLOG_H
-#define GRPC_CORE_CENSUS_MLOG_H
+#ifndef GRPC_CORE_LIB_CENSUS_MLOG_H
+#define GRPC_CORE_LIB_CENSUS_MLOG_H
 
 #include <grpc/support/port_platform.h>
 #include <stddef.h>
@@ -92,4 +92,4 @@
    out-of-space. */
 int64_t census_log_out_of_space_count(void);
 
-#endif /* GRPC_CORE_CENSUS_MLOG_H */
+#endif /* GRPC_CORE_LIB_CENSUS_MLOG_H */
diff --git a/src/core/census/operation.c b/src/core/lib/census/operation.c
similarity index 98%
rename from src/core/census/operation.c
rename to src/core/lib/census/operation.c
index 5c58704..315f9c3 100644
--- a/src/core/census/operation.c
+++ b/src/core/lib/census/operation.c
@@ -1,5 +1,5 @@
 /*
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/src/core/census/placeholders.c b/src/core/lib/census/placeholders.c
similarity index 100%
rename from src/core/census/placeholders.c
rename to src/core/lib/census/placeholders.c
diff --git a/src/core/census/rpc_metric_id.h b/src/core/lib/census/rpc_metric_id.h
similarity index 93%
rename from src/core/census/rpc_metric_id.h
rename to src/core/lib/census/rpc_metric_id.h
index f8d8dad..aad0588 100644
--- a/src/core/census/rpc_metric_id.h
+++ b/src/core/lib/census/rpc_metric_id.h
@@ -31,8 +31,8 @@
  *
  */
 
-#ifndef GRPC_CORE_CENSUS_RPC_METRIC_ID_H
-#define GRPC_CORE_CENSUS_RPC_METRIC_ID_H
+#ifndef GRPC_CORE_LIB_CENSUS_RPC_METRIC_ID_H
+#define GRPC_CORE_LIB_CENSUS_RPC_METRIC_ID_H
 
 /* Metric ID's used for RPC measurements. */
 /* Count of client requests sent. */
@@ -48,4 +48,4 @@
 /* Server side request latency. */
 #define CENSUS_METRIC_RPC_SERVER_LATENCY ((uint32_t)5)
 
-#endif /* GRPC_CORE_CENSUS_RPC_METRIC_ID_H */
+#endif /* GRPC_CORE_LIB_CENSUS_RPC_METRIC_ID_H */
diff --git a/src/core/census/tracing.c b/src/core/lib/census/tracing.c
similarity index 97%
rename from src/core/census/tracing.c
rename to src/core/lib/census/tracing.c
index 3b5d6da..e508996 100644
--- a/src/core/census/tracing.c
+++ b/src/core/lib/census/tracing.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/src/core/channel/channel_args.c b/src/core/lib/channel/channel_args.c
similarity index 98%
rename from src/core/channel/channel_args.c
rename to src/core/lib/channel/channel_args.c
index e0382fa..1a02f1f 100644
--- a/src/core/channel/channel_args.c
+++ b/src/core/lib/channel/channel_args.c
@@ -31,9 +31,9 @@
  *
  */
 
-#include "src/core/channel/channel_args.h"
+#include "src/core/lib/channel/channel_args.h"
 #include <grpc/grpc.h>
-#include "src/core/support/string.h"
+#include "src/core/lib/support/string.h"
 
 #include <grpc/census.h>
 #include <grpc/support/alloc.h>
diff --git a/src/core/channel/channel_args.h b/src/core/lib/channel/channel_args.h
similarity index 96%
rename from src/core/channel/channel_args.h
rename to src/core/lib/channel/channel_args.h
index e19440f..67d287e 100644
--- a/src/core/channel/channel_args.h
+++ b/src/core/lib/channel/channel_args.h
@@ -31,8 +31,8 @@
  *
  */
 
-#ifndef GRPC_CORE_CHANNEL_CHANNEL_ARGS_H
-#define GRPC_CORE_CHANNEL_CHANNEL_ARGS_H
+#ifndef GRPC_CORE_LIB_CHANNEL_CHANNEL_ARGS_H
+#define GRPC_CORE_LIB_CHANNEL_CHANNEL_ARGS_H
 
 #include <grpc/compression.h>
 #include <grpc/grpc.h>
@@ -91,4 +91,4 @@
 int grpc_channel_args_compare(const grpc_channel_args *a,
                               const grpc_channel_args *b);
 
-#endif /* GRPC_CORE_CHANNEL_CHANNEL_ARGS_H */
+#endif /* GRPC_CORE_LIB_CHANNEL_CHANNEL_ARGS_H */
diff --git a/src/core/channel/channel_stack.c b/src/core/lib/channel/channel_stack.c
similarity index 98%
rename from src/core/channel/channel_stack.c
rename to src/core/lib/channel/channel_stack.c
index 3e61688..52283e3 100644
--- a/src/core/channel/channel_stack.c
+++ b/src/core/lib/channel/channel_stack.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/channel/channel_stack.h"
+#include "src/core/lib/channel/channel_stack.h"
 #include <grpc/support/log.h>
 
 #include <stdlib.h>
diff --git a/src/core/channel/channel_stack.h b/src/core/lib/channel/channel_stack.h
similarity index 97%
rename from src/core/channel/channel_stack.h
rename to src/core/lib/channel/channel_stack.h
index 52362f0..b29bee4 100644
--- a/src/core/channel/channel_stack.h
+++ b/src/core/lib/channel/channel_stack.h
@@ -31,8 +31,8 @@
  *
  */
 
-#ifndef GRPC_CORE_CHANNEL_CHANNEL_STACK_H
-#define GRPC_CORE_CHANNEL_CHANNEL_STACK_H
+#ifndef GRPC_CORE_LIB_CHANNEL_CHANNEL_STACK_H
+#define GRPC_CORE_LIB_CHANNEL_CHANNEL_STACK_H
 
 /* A channel filter defines how operations on a channel are implemented.
    Channel filters are chained together to create full channels, and if those
@@ -45,8 +45,8 @@
 
 #include <grpc/grpc.h>
 #include <grpc/support/log.h>
-#include "src/core/debug/trace.h"
-#include "src/core/transport/transport.h"
+#include "src/core/lib/debug/trace.h"
+#include "src/core/lib/transport/transport.h"
 
 typedef struct grpc_channel_element grpc_channel_element;
 typedef struct grpc_call_element grpc_call_element;
@@ -257,4 +257,4 @@
 #define GRPC_CALL_LOG_OP(sev, elem, op) \
   if (grpc_trace_channel) grpc_call_log_op(sev, elem, op)
 
-#endif /* GRPC_CORE_CHANNEL_CHANNEL_STACK_H */
+#endif /* GRPC_CORE_LIB_CHANNEL_CHANNEL_STACK_H */
diff --git a/src/core/channel/channel_stack_builder.c b/src/core/lib/channel/channel_stack_builder.c
similarity index 99%
rename from src/core/channel/channel_stack_builder.c
rename to src/core/lib/channel/channel_stack_builder.c
index 1b1004e..1ce0c4e 100644
--- a/src/core/channel/channel_stack_builder.c
+++ b/src/core/lib/channel/channel_stack_builder.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/channel/channel_stack_builder.h"
+#include "src/core/lib/channel/channel_stack_builder.h"
 
 #include <string.h>
 
diff --git a/src/core/channel/channel_stack_builder.h b/src/core/lib/channel/channel_stack_builder.h
similarity index 95%
rename from src/core/channel/channel_stack_builder.h
rename to src/core/lib/channel/channel_stack_builder.h
index 15f395e..8532c44 100644
--- a/src/core/channel/channel_stack_builder.h
+++ b/src/core/lib/channel/channel_stack_builder.h
@@ -31,13 +31,13 @@
  *
  */
 
-#ifndef GRPC_CORE_CHANNEL_CHANNEL_STACK_BUILDER_H
-#define GRPC_CORE_CHANNEL_CHANNEL_STACK_BUILDER_H
+#ifndef GRPC_CORE_LIB_CHANNEL_CHANNEL_STACK_BUILDER_H
+#define GRPC_CORE_LIB_CHANNEL_CHANNEL_STACK_BUILDER_H
 
 #include <stdbool.h>
 
-#include "src/core/channel/channel_args.h"
-#include "src/core/channel/channel_stack.h"
+#include "src/core/lib/channel/channel_args.h"
+#include "src/core/lib/channel/channel_stack.h"
 
 /// grpc_channel_stack_builder offers a programmatic interface to selected
 /// and order channel filters
@@ -152,4 +152,4 @@
 
 extern int grpc_trace_channel_stack_builder;
 
-#endif /* GRPC_CORE_CHANNEL_CHANNEL_STACK_BUILDER_H */
+#endif /* GRPC_CORE_LIB_CHANNEL_CHANNEL_STACK_BUILDER_H */
diff --git a/src/core/channel/client_channel.c b/src/core/lib/channel/client_channel.c
similarity index 97%
rename from src/core/channel/client_channel.c
rename to src/core/lib/channel/client_channel.c
index ad1ded9..9fdf803 100644
--- a/src/core/channel/client_channel.c
+++ b/src/core/lib/channel/client_channel.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/channel/client_channel.h"
+#include "src/core/lib/channel/client_channel.h"
 
 #include <stdio.h>
 #include <string.h>
@@ -41,14 +41,14 @@
 #include <grpc/support/sync.h>
 #include <grpc/support/useful.h>
 
-#include "src/core/channel/channel_args.h"
-#include "src/core/channel/connected_channel.h"
-#include "src/core/channel/subchannel_call_holder.h"
-#include "src/core/iomgr/iomgr.h"
-#include "src/core/profiling/timers.h"
-#include "src/core/support/string.h"
-#include "src/core/surface/channel.h"
-#include "src/core/transport/connectivity_state.h"
+#include "src/core/lib/channel/channel_args.h"
+#include "src/core/lib/channel/connected_channel.h"
+#include "src/core/lib/channel/subchannel_call_holder.h"
+#include "src/core/lib/iomgr/iomgr.h"
+#include "src/core/lib/profiling/timers.h"
+#include "src/core/lib/support/string.h"
+#include "src/core/lib/surface/channel.h"
+#include "src/core/lib/transport/connectivity_state.h"
 
 /* Client channel implementation */
 
diff --git a/src/core/channel/client_channel.h b/src/core/lib/channel/client_channel.h
similarity index 91%
rename from src/core/channel/client_channel.h
rename to src/core/lib/channel/client_channel.h
index 422f7f8..8777796 100644
--- a/src/core/channel/client_channel.h
+++ b/src/core/lib/channel/client_channel.h
@@ -31,11 +31,11 @@
  *
  */
 
-#ifndef GRPC_CORE_CHANNEL_CLIENT_CHANNEL_H
-#define GRPC_CORE_CHANNEL_CLIENT_CHANNEL_H
+#ifndef GRPC_CORE_LIB_CHANNEL_CLIENT_CHANNEL_H
+#define GRPC_CORE_LIB_CHANNEL_CLIENT_CHANNEL_H
 
-#include "src/core/channel/channel_stack.h"
-#include "src/core/client_config/resolver.h"
+#include "src/core/lib/channel/channel_stack.h"
+#include "src/core/lib/client_config/resolver.h"
 
 /* A client channel is a channel that begins disconnected, and can connect
    to some endpoint on demand. If that endpoint disconnects, it will be
@@ -60,4 +60,4 @@
     grpc_exec_ctx *exec_ctx, grpc_channel_element *elem, grpc_pollset *pollset,
     grpc_connectivity_state *state, grpc_closure *on_complete);
 
-#endif /* GRPC_CORE_CHANNEL_CLIENT_CHANNEL_H */
+#endif /* GRPC_CORE_LIB_CHANNEL_CLIENT_CHANNEL_H */
diff --git a/src/core/channel/compress_filter.c b/src/core/lib/channel/compress_filter.c
similarity index 96%
rename from src/core/channel/compress_filter.c
rename to src/core/lib/channel/compress_filter.c
index 6f5a974..04bb7cc 100644
--- a/src/core/channel/compress_filter.c
+++ b/src/core/lib/channel/compress_filter.c
@@ -39,13 +39,13 @@
 #include <grpc/support/log.h>
 #include <grpc/support/slice_buffer.h>
 
-#include "src/core/channel/channel_args.h"
-#include "src/core/channel/compress_filter.h"
-#include "src/core/compression/algorithm_metadata.h"
-#include "src/core/compression/message_compress.h"
-#include "src/core/profiling/timers.h"
-#include "src/core/support/string.h"
-#include "src/core/transport/static_metadata.h"
+#include "src/core/lib/channel/channel_args.h"
+#include "src/core/lib/channel/compress_filter.h"
+#include "src/core/lib/compression/algorithm_metadata.h"
+#include "src/core/lib/compression/message_compress.h"
+#include "src/core/lib/profiling/timers.h"
+#include "src/core/lib/support/string.h"
+#include "src/core/lib/transport/static_metadata.h"
 
 typedef struct call_data {
   gpr_slice_buffer slices; /**< Buffers up input slices to be compressed */
diff --git a/src/core/channel/compress_filter.h b/src/core/lib/channel/compress_filter.h
similarity index 92%
rename from src/core/channel/compress_filter.h
rename to src/core/lib/channel/compress_filter.h
index 8c208ac..9010074 100644
--- a/src/core/channel/compress_filter.h
+++ b/src/core/lib/channel/compress_filter.h
@@ -31,10 +31,10 @@
  *
  */
 
-#ifndef GRPC_CORE_CHANNEL_COMPRESS_FILTER_H
-#define GRPC_CORE_CHANNEL_COMPRESS_FILTER_H
+#ifndef GRPC_CORE_LIB_CHANNEL_COMPRESS_FILTER_H
+#define GRPC_CORE_LIB_CHANNEL_COMPRESS_FILTER_H
 
-#include "src/core/channel/channel_stack.h"
+#include "src/core/lib/channel/channel_stack.h"
 
 #define GRPC_COMPRESS_REQUEST_ALGORITHM_KEY "grpc-internal-encoding-request"
 
@@ -62,4 +62,4 @@
 
 extern const grpc_channel_filter grpc_compress_filter;
 
-#endif /* GRPC_CORE_CHANNEL_COMPRESS_FILTER_H */
+#endif /* GRPC_CORE_LIB_CHANNEL_COMPRESS_FILTER_H */
diff --git a/src/core/channel/connected_channel.c b/src/core/lib/channel/connected_channel.c
similarity index 97%
rename from src/core/channel/connected_channel.c
rename to src/core/lib/channel/connected_channel.c
index df11d54..5e3a897 100644
--- a/src/core/channel/connected_channel.c
+++ b/src/core/lib/channel/connected_channel.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/channel/connected_channel.h"
+#include "src/core/lib/channel/connected_channel.h"
 
 #include <stdarg.h>
 #include <stdio.h>
@@ -41,9 +41,9 @@
 #include <grpc/support/alloc.h>
 #include <grpc/support/log.h>
 #include <grpc/support/slice_buffer.h>
-#include "src/core/profiling/timers.h"
-#include "src/core/support/string.h"
-#include "src/core/transport/transport.h"
+#include "src/core/lib/profiling/timers.h"
+#include "src/core/lib/support/string.h"
+#include "src/core/lib/transport/transport.h"
 
 #define MAX_BUFFER_LENGTH 8192
 
diff --git a/src/core/channel/connected_channel.h b/src/core/lib/channel/connected_channel.h
similarity index 88%
rename from src/core/channel/connected_channel.h
rename to src/core/lib/channel/connected_channel.h
index 7c0c835..4f20b75 100644
--- a/src/core/channel/connected_channel.h
+++ b/src/core/lib/channel/connected_channel.h
@@ -31,12 +31,12 @@
  *
  */
 
-#ifndef GRPC_CORE_CHANNEL_CONNECTED_CHANNEL_H
-#define GRPC_CORE_CHANNEL_CONNECTED_CHANNEL_H
+#ifndef GRPC_CORE_LIB_CHANNEL_CONNECTED_CHANNEL_H
+#define GRPC_CORE_LIB_CHANNEL_CONNECTED_CHANNEL_H
 
-#include "src/core/channel/channel_stack_builder.h"
+#include "src/core/lib/channel/channel_stack_builder.h"
 
 bool grpc_add_connected_filter(grpc_channel_stack_builder *builder,
                                void *arg_must_be_null);
 
-#endif /* GRPC_CORE_CHANNEL_CONNECTED_CHANNEL_H */
+#endif /* GRPC_CORE_LIB_CHANNEL_CONNECTED_CHANNEL_H */
diff --git a/src/core/channel/context.h b/src/core/lib/channel/context.h
similarity index 93%
rename from src/core/channel/context.h
rename to src/core/lib/channel/context.h
index db217dc..bca102d 100644
--- a/src/core/channel/context.h
+++ b/src/core/lib/channel/context.h
@@ -31,8 +31,8 @@
  *
  */
 
-#ifndef GRPC_CORE_CHANNEL_CONTEXT_H
-#define GRPC_CORE_CHANNEL_CONTEXT_H
+#ifndef GRPC_CORE_LIB_CHANNEL_CONTEXT_H
+#define GRPC_CORE_LIB_CHANNEL_CONTEXT_H
 
 /* Call object context pointers */
 typedef enum {
@@ -46,4 +46,4 @@
   void (*destroy)(void *);
 } grpc_call_context_element;
 
-#endif /* GRPC_CORE_CHANNEL_CONTEXT_H */
+#endif /* GRPC_CORE_LIB_CHANNEL_CONTEXT_H */
diff --git a/src/core/channel/http_client_filter.c b/src/core/lib/channel/http_client_filter.c
similarity index 97%
rename from src/core/channel/http_client_filter.c
rename to src/core/lib/channel/http_client_filter.c
index 582427d..7dbac38 100644
--- a/src/core/channel/http_client_filter.c
+++ b/src/core/lib/channel/http_client_filter.c
@@ -30,14 +30,14 @@
  *
  */
 
-#include "src/core/channel/http_client_filter.h"
+#include "src/core/lib/channel/http_client_filter.h"
 #include <grpc/support/alloc.h>
 #include <grpc/support/log.h>
 #include <grpc/support/string_util.h>
 #include <string.h>
-#include "src/core/profiling/timers.h"
-#include "src/core/support/string.h"
-#include "src/core/transport/static_metadata.h"
+#include "src/core/lib/profiling/timers.h"
+#include "src/core/lib/support/string.h"
+#include "src/core/lib/transport/static_metadata.h"
 
 typedef struct call_data {
   grpc_linked_mdelem method;
diff --git a/src/core/channel/http_client_filter.h b/src/core/lib/channel/http_client_filter.h
similarity index 89%
rename from src/core/channel/http_client_filter.h
rename to src/core/lib/channel/http_client_filter.h
index 6f619bb..418426e 100644
--- a/src/core/channel/http_client_filter.h
+++ b/src/core/lib/channel/http_client_filter.h
@@ -31,14 +31,14 @@
  *
  */
 
-#ifndef GRPC_CORE_CHANNEL_HTTP_CLIENT_FILTER_H
-#define GRPC_CORE_CHANNEL_HTTP_CLIENT_FILTER_H
+#ifndef GRPC_CORE_LIB_CHANNEL_HTTP_CLIENT_FILTER_H
+#define GRPC_CORE_LIB_CHANNEL_HTTP_CLIENT_FILTER_H
 
-#include "src/core/channel/channel_stack.h"
+#include "src/core/lib/channel/channel_stack.h"
 
 /* Processes metadata on the client side for HTTP2 transports */
 extern const grpc_channel_filter grpc_http_client_filter;
 
 #define GRPC_ARG_HTTP2_SCHEME "grpc.http2_scheme"
 
-#endif /* GRPC_CORE_CHANNEL_HTTP_CLIENT_FILTER_H */
+#endif /* GRPC_CORE_LIB_CHANNEL_HTTP_CLIENT_FILTER_H */
diff --git a/src/core/channel/http_server_filter.c b/src/core/lib/channel/http_server_filter.c
similarity index 98%
rename from src/core/channel/http_server_filter.c
rename to src/core/lib/channel/http_server_filter.c
index 1a2e0c5..df99b77 100644
--- a/src/core/channel/http_server_filter.c
+++ b/src/core/lib/channel/http_server_filter.c
@@ -31,13 +31,13 @@
  *
  */
 
-#include "src/core/channel/http_server_filter.h"
+#include "src/core/lib/channel/http_server_filter.h"
 
 #include <grpc/support/alloc.h>
 #include <grpc/support/log.h>
 #include <string.h>
-#include "src/core/profiling/timers.h"
-#include "src/core/transport/static_metadata.h"
+#include "src/core/lib/profiling/timers.h"
+#include "src/core/lib/transport/static_metadata.h"
 
 typedef struct call_data {
   uint8_t seen_path;
diff --git a/src/core/channel/http_server_filter.h b/src/core/lib/channel/http_server_filter.h
similarity index 89%
rename from src/core/channel/http_server_filter.h
rename to src/core/lib/channel/http_server_filter.h
index 528c864..c8cf920 100644
--- a/src/core/channel/http_server_filter.h
+++ b/src/core/lib/channel/http_server_filter.h
@@ -31,12 +31,12 @@
  *
  */
 
-#ifndef GRPC_CORE_CHANNEL_HTTP_SERVER_FILTER_H
-#define GRPC_CORE_CHANNEL_HTTP_SERVER_FILTER_H
+#ifndef GRPC_CORE_LIB_CHANNEL_HTTP_SERVER_FILTER_H
+#define GRPC_CORE_LIB_CHANNEL_HTTP_SERVER_FILTER_H
 
-#include "src/core/channel/channel_stack.h"
+#include "src/core/lib/channel/channel_stack.h"
 
 /* Processes metadata on the client side for HTTP2 transports */
 extern const grpc_channel_filter grpc_http_server_filter;
 
-#endif /* GRPC_CORE_CHANNEL_HTTP_SERVER_FILTER_H */
+#endif /* GRPC_CORE_LIB_CHANNEL_HTTP_SERVER_FILTER_H */
diff --git a/src/core/channel/subchannel_call_holder.c b/src/core/lib/channel/subchannel_call_holder.c
similarity index 98%
rename from src/core/channel/subchannel_call_holder.c
rename to src/core/lib/channel/subchannel_call_holder.c
index 9c087dc..6c6d42d 100644
--- a/src/core/channel/subchannel_call_holder.c
+++ b/src/core/lib/channel/subchannel_call_holder.c
@@ -31,11 +31,11 @@
  *
  */
 
-#include "src/core/channel/subchannel_call_holder.h"
+#include "src/core/lib/channel/subchannel_call_holder.h"
 
 #include <grpc/support/alloc.h>
 
-#include "src/core/profiling/timers.h"
+#include "src/core/lib/profiling/timers.h"
 
 #define GET_CALL(holder) \
   ((grpc_subchannel_call *)(gpr_atm_acq_load(&(holder)->subchannel_call)))
diff --git a/src/core/channel/subchannel_call_holder.h b/src/core/lib/channel/subchannel_call_holder.h
similarity index 94%
rename from src/core/channel/subchannel_call_holder.h
rename to src/core/lib/channel/subchannel_call_holder.h
index 84b4657..882f366 100644
--- a/src/core/channel/subchannel_call_holder.h
+++ b/src/core/lib/channel/subchannel_call_holder.h
@@ -31,10 +31,10 @@
  *
  */
 
-#ifndef GRPC_CORE_CHANNEL_SUBCHANNEL_CALL_HOLDER_H
-#define GRPC_CORE_CHANNEL_SUBCHANNEL_CALL_HOLDER_H
+#ifndef GRPC_CORE_LIB_CHANNEL_SUBCHANNEL_CALL_HOLDER_H
+#define GRPC_CORE_LIB_CHANNEL_SUBCHANNEL_CALL_HOLDER_H
 
-#include "src/core/client_config/subchannel.h"
+#include "src/core/lib/client_config/subchannel.h"
 
 /** Pick a subchannel for grpc_subchannel_call_holder;
     Return 1 if subchannel is available immediately (in which case on_ready
@@ -94,4 +94,4 @@
 char *grpc_subchannel_call_holder_get_peer(grpc_exec_ctx *exec_ctx,
                                            grpc_subchannel_call_holder *holder);
 
-#endif /* GRPC_CORE_CHANNEL_SUBCHANNEL_CALL_HOLDER_H */
+#endif /* GRPC_CORE_LIB_CHANNEL_SUBCHANNEL_CALL_HOLDER_H */
diff --git a/src/core/client_config/README.md b/src/core/lib/client_config/README.md
similarity index 100%
rename from src/core/client_config/README.md
rename to src/core/lib/client_config/README.md
diff --git a/src/core/client_config/client_config.c b/src/core/lib/client_config/client_config.c
similarity index 97%
rename from src/core/client_config/client_config.c
rename to src/core/lib/client_config/client_config.c
index c500af2..82c8d68 100644
--- a/src/core/client_config/client_config.c
+++ b/src/core/lib/client_config/client_config.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/client_config/client_config.h"
+#include "src/core/lib/client_config/client_config.h"
 
 #include <string.h>
 
diff --git a/src/core/client_config/client_config.h b/src/core/lib/client_config/client_config.h
similarity index 90%
rename from src/core/client_config/client_config.h
rename to src/core/lib/client_config/client_config.h
index 9b37fdc..404ec0d 100644
--- a/src/core/client_config/client_config.h
+++ b/src/core/lib/client_config/client_config.h
@@ -31,10 +31,10 @@
  *
  */
 
-#ifndef GRPC_CORE_CLIENT_CONFIG_CLIENT_CONFIG_H
-#define GRPC_CORE_CLIENT_CONFIG_CLIENT_CONFIG_H
+#ifndef GRPC_CORE_LIB_CLIENT_CONFIG_CLIENT_CONFIG_H
+#define GRPC_CORE_LIB_CLIENT_CONFIG_CLIENT_CONFIG_H
 
-#include "src/core/client_config/lb_policy.h"
+#include "src/core/lib/client_config/lb_policy.h"
 
 /** Total configuration for a client. Provided, and updated, by
     grpc_resolver */
@@ -50,4 +50,4 @@
 grpc_lb_policy *grpc_client_config_get_lb_policy(
     grpc_client_config *client_config);
 
-#endif /* GRPC_CORE_CLIENT_CONFIG_CLIENT_CONFIG_H */
+#endif /* GRPC_CORE_LIB_CLIENT_CONFIG_CLIENT_CONFIG_H */
diff --git a/src/core/client_config/connector.c b/src/core/lib/client_config/connector.c
similarity index 97%
rename from src/core/client_config/connector.c
rename to src/core/lib/client_config/connector.c
index aa34aa7..f51d862 100644
--- a/src/core/client_config/connector.c
+++ b/src/core/lib/client_config/connector.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/client_config/connector.h"
+#include "src/core/lib/client_config/connector.h"
 
 grpc_connector* grpc_connector_ref(grpc_connector* connector) {
   connector->vtable->ref(connector);
diff --git a/src/core/client_config/connector.h b/src/core/lib/client_config/connector.h
similarity index 92%
rename from src/core/client_config/connector.h
rename to src/core/lib/client_config/connector.h
index 93248fc..21b925a 100644
--- a/src/core/client_config/connector.h
+++ b/src/core/lib/client_config/connector.h
@@ -31,12 +31,12 @@
  *
  */
 
-#ifndef GRPC_CORE_CLIENT_CONFIG_CONNECTOR_H
-#define GRPC_CORE_CLIENT_CONFIG_CONNECTOR_H
+#ifndef GRPC_CORE_LIB_CLIENT_CONFIG_CONNECTOR_H
+#define GRPC_CORE_LIB_CLIENT_CONFIG_CONNECTOR_H
 
-#include "src/core/channel/channel_stack.h"
-#include "src/core/iomgr/sockaddr.h"
-#include "src/core/transport/transport.h"
+#include "src/core/lib/channel/channel_stack.h"
+#include "src/core/lib/iomgr/sockaddr.h"
+#include "src/core/lib/transport/transport.h"
 
 typedef struct grpc_connector grpc_connector;
 typedef struct grpc_connector_vtable grpc_connector_vtable;
@@ -89,4 +89,4 @@
 void grpc_connector_shutdown(grpc_exec_ctx *exec_ctx,
                              grpc_connector *connector);
 
-#endif /* GRPC_CORE_CLIENT_CONFIG_CONNECTOR_H */
+#endif /* GRPC_CORE_LIB_CLIENT_CONFIG_CONNECTOR_H */
diff --git a/src/core/client_config/default_initial_connect_string.c b/src/core/lib/client_config/default_initial_connect_string.c
similarity index 95%
rename from src/core/client_config/default_initial_connect_string.c
rename to src/core/lib/client_config/default_initial_connect_string.c
index 6a4e23e..86eb37d 100644
--- a/src/core/client_config/default_initial_connect_string.c
+++ b/src/core/lib/client_config/default_initial_connect_string.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -32,7 +32,7 @@
  */
 
 #include <grpc/support/slice.h>
-#include "src/core/iomgr/sockaddr.h"
+#include "src/core/lib/iomgr/sockaddr.h"
 
 void grpc_set_default_initial_connect_string(struct sockaddr **addr,
                                              size_t *addr_len,
diff --git a/src/core/client_config/initial_connect_string.c b/src/core/lib/client_config/initial_connect_string.c
similarity index 95%
rename from src/core/client_config/initial_connect_string.c
rename to src/core/lib/client_config/initial_connect_string.c
index 19afa16..95ae728 100644
--- a/src/core/client_config/initial_connect_string.c
+++ b/src/core/lib/client_config/initial_connect_string.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/client_config/initial_connect_string.h"
+#include "src/core/lib/client_config/initial_connect_string.h"
 
 #include <stddef.h>
 
diff --git a/src/core/client_config/initial_connect_string.h b/src/core/lib/client_config/initial_connect_string.h
similarity index 90%
rename from src/core/client_config/initial_connect_string.h
rename to src/core/lib/client_config/initial_connect_string.h
index e6d2d8f..eec42fa 100644
--- a/src/core/client_config/initial_connect_string.h
+++ b/src/core/lib/client_config/initial_connect_string.h
@@ -31,11 +31,11 @@
  *
  */
 
-#ifndef GRPC_CORE_CLIENT_CONFIG_INITIAL_CONNECT_STRING_H
-#define GRPC_CORE_CLIENT_CONFIG_INITIAL_CONNECT_STRING_H
+#ifndef GRPC_CORE_LIB_CLIENT_CONFIG_INITIAL_CONNECT_STRING_H
+#define GRPC_CORE_LIB_CLIENT_CONFIG_INITIAL_CONNECT_STRING_H
 
 #include <grpc/support/slice.h>
-#include "src/core/iomgr/sockaddr.h"
+#include "src/core/lib/iomgr/sockaddr.h"
 
 typedef void (*grpc_set_initial_connect_string_func)(struct sockaddr **addr,
                                                      size_t *addr_len,
@@ -47,4 +47,4 @@
 void grpc_set_initial_connect_string(struct sockaddr **addr, size_t *addr_len,
                                      gpr_slice *connect_string);
 
-#endif /* GRPC_CORE_CLIENT_CONFIG_INITIAL_CONNECT_STRING_H */
+#endif /* GRPC_CORE_LIB_CLIENT_CONFIG_INITIAL_CONNECT_STRING_H */
diff --git a/src/core/client_config/lb_policies/load_balancer_api.c b/src/core/lib/client_config/lb_policies/load_balancer_api.c
similarity index 98%
rename from src/core/client_config/lb_policies/load_balancer_api.c
rename to src/core/lib/client_config/lb_policies/load_balancer_api.c
index a6b5785..4cbed20 100644
--- a/src/core/client_config/lb_policies/load_balancer_api.c
+++ b/src/core/lib/client_config/lb_policies/load_balancer_api.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/client_config/lb_policies/load_balancer_api.h"
+#include "src/core/lib/client_config/lb_policies/load_balancer_api.h"
 #include "third_party/nanopb/pb_decode.h"
 #include "third_party/nanopb/pb_encode.h"
 
diff --git a/src/core/client_config/lb_policies/load_balancer_api.h b/src/core/lib/client_config/lb_policies/load_balancer_api.h
similarity index 90%
rename from src/core/client_config/lb_policies/load_balancer_api.h
rename to src/core/lib/client_config/lb_policies/load_balancer_api.h
index b7a4c9c..83299ad 100644
--- a/src/core/client_config/lb_policies/load_balancer_api.h
+++ b/src/core/lib/client_config/lb_policies/load_balancer_api.h
@@ -31,13 +31,13 @@
  *
  */
 
-#ifndef GRPC_CORE_CLIENT_CONFIG_LB_POLICIES_LOAD_BALANCER_API_H
-#define GRPC_CORE_CLIENT_CONFIG_LB_POLICIES_LOAD_BALANCER_API_H
+#ifndef GRPC_CORE_LIB_CLIENT_CONFIG_LB_POLICIES_LOAD_BALANCER_API_H
+#define GRPC_CORE_LIB_CLIENT_CONFIG_LB_POLICIES_LOAD_BALANCER_API_H
 
 #include <grpc/support/slice_buffer.h>
 
-#include "src/core/client_config/lb_policy_factory.h"
-#include "src/core/proto/grpc/lb/v0/load_balancer.pb.h"
+#include "src/core/lib/client_config/lb_policy_factory.h"
+#include "src/core/lib/proto/grpc/lb/v0/load_balancer.pb.h"
 
 #ifdef __cplusplus
 extern "C" {
@@ -82,4 +82,4 @@
 }
 #endif
 
-#endif /* GRPC_CORE_CLIENT_CONFIG_LB_POLICIES_LOAD_BALANCER_API_H */
+#endif /* GRPC_CORE_LIB_CLIENT_CONFIG_LB_POLICIES_LOAD_BALANCER_API_H */
diff --git a/src/core/client_config/lb_policies/pick_first.c b/src/core/lib/client_config/lb_policies/pick_first.c
similarity index 98%
rename from src/core/client_config/lb_policies/pick_first.c
rename to src/core/lib/client_config/lb_policies/pick_first.c
index 2833f11..2e399b7 100644
--- a/src/core/client_config/lb_policies/pick_first.c
+++ b/src/core/lib/client_config/lb_policies/pick_first.c
@@ -31,13 +31,13 @@
  *
  */
 
-#include "src/core/client_config/lb_policies/pick_first.h"
-#include "src/core/client_config/lb_policy_factory.h"
+#include "src/core/lib/client_config/lb_policies/pick_first.h"
+#include "src/core/lib/client_config/lb_policy_factory.h"
 
 #include <string.h>
 
 #include <grpc/support/alloc.h>
-#include "src/core/transport/connectivity_state.h"
+#include "src/core/lib/transport/connectivity_state.h"
 
 typedef struct pending_pick {
   struct pending_pick *next;
diff --git a/src/core/client_config/lb_policies/pick_first.h b/src/core/lib/client_config/lb_policies/pick_first.h
similarity index 87%
rename from src/core/client_config/lb_policies/pick_first.h
rename to src/core/lib/client_config/lb_policies/pick_first.h
index 3a3f195..dba86ea 100644
--- a/src/core/client_config/lb_policies/pick_first.h
+++ b/src/core/lib/client_config/lb_policies/pick_first.h
@@ -31,13 +31,13 @@
  *
  */
 
-#ifndef GRPC_CORE_CLIENT_CONFIG_LB_POLICIES_PICK_FIRST_H
-#define GRPC_CORE_CLIENT_CONFIG_LB_POLICIES_PICK_FIRST_H
+#ifndef GRPC_CORE_LIB_CLIENT_CONFIG_LB_POLICIES_PICK_FIRST_H
+#define GRPC_CORE_LIB_CLIENT_CONFIG_LB_POLICIES_PICK_FIRST_H
 
-#include "src/core/client_config/lb_policy_factory.h"
+#include "src/core/lib/client_config/lb_policy_factory.h"
 
 /** Returns a load balancing factory for the pick first policy, which picks up
  * the first subchannel from \a subchannels to succesfully connect */
 grpc_lb_policy_factory *grpc_pick_first_lb_factory_create();
 
-#endif /* GRPC_CORE_CLIENT_CONFIG_LB_POLICIES_PICK_FIRST_H */
+#endif /* GRPC_CORE_LIB_CLIENT_CONFIG_LB_POLICIES_PICK_FIRST_H */
diff --git a/src/core/client_config/lb_policies/round_robin.c b/src/core/lib/client_config/lb_policies/round_robin.c
similarity index 99%
rename from src/core/client_config/lb_policies/round_robin.c
rename to src/core/lib/client_config/lb_policies/round_robin.c
index 114ece6..c904c5f 100644
--- a/src/core/client_config/lb_policies/round_robin.c
+++ b/src/core/lib/client_config/lb_policies/round_robin.c
@@ -31,12 +31,12 @@
  *
  */
 
-#include "src/core/client_config/lb_policies/round_robin.h"
+#include "src/core/lib/client_config/lb_policies/round_robin.h"
 
 #include <string.h>
 
 #include <grpc/support/alloc.h>
-#include "src/core/transport/connectivity_state.h"
+#include "src/core/lib/transport/connectivity_state.h"
 
 typedef struct round_robin_lb_policy round_robin_lb_policy;
 
diff --git a/src/core/client_config/lb_policies/round_robin.h b/src/core/lib/client_config/lb_policies/round_robin.h
similarity index 85%
rename from src/core/client_config/lb_policies/round_robin.h
rename to src/core/lib/client_config/lb_policies/round_robin.h
index 7e6f176..52db1ca 100644
--- a/src/core/client_config/lb_policies/round_robin.h
+++ b/src/core/lib/client_config/lb_policies/round_robin.h
@@ -31,16 +31,16 @@
  *
  */
 
-#ifndef GRPC_CORE_CLIENT_CONFIG_LB_POLICIES_ROUND_ROBIN_H
-#define GRPC_CORE_CLIENT_CONFIG_LB_POLICIES_ROUND_ROBIN_H
+#ifndef GRPC_CORE_LIB_CLIENT_CONFIG_LB_POLICIES_ROUND_ROBIN_H
+#define GRPC_CORE_LIB_CLIENT_CONFIG_LB_POLICIES_ROUND_ROBIN_H
 
-#include "src/core/client_config/lb_policy.h"
+#include "src/core/lib/client_config/lb_policy.h"
 
 extern int grpc_lb_round_robin_trace;
 
-#include "src/core/client_config/lb_policy_factory.h"
+#include "src/core/lib/client_config/lb_policy_factory.h"
 
 /** Returns a load balancing factory for the round robin policy */
 grpc_lb_policy_factory *grpc_round_robin_lb_factory_create();
 
-#endif /* GRPC_CORE_CLIENT_CONFIG_LB_POLICIES_ROUND_ROBIN_H */
+#endif /* GRPC_CORE_LIB_CLIENT_CONFIG_LB_POLICIES_ROUND_ROBIN_H */
diff --git a/src/core/client_config/lb_policy.c b/src/core/lib/client_config/lb_policy.c
similarity index 98%
rename from src/core/client_config/lb_policy.c
rename to src/core/lib/client_config/lb_policy.c
index 0d8b007..ee20ccd 100644
--- a/src/core/client_config/lb_policy.c
+++ b/src/core/lib/client_config/lb_policy.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/client_config/lb_policy.h"
+#include "src/core/lib/client_config/lb_policy.h"
 
 #define WEAK_REF_BITS 16
 
diff --git a/src/core/client_config/lb_policy.h b/src/core/lib/client_config/lb_policy.h
similarity index 96%
rename from src/core/client_config/lb_policy.h
rename to src/core/lib/client_config/lb_policy.h
index ffebc2a..58a0a04 100644
--- a/src/core/client_config/lb_policy.h
+++ b/src/core/lib/client_config/lb_policy.h
@@ -31,11 +31,11 @@
  *
  */
 
-#ifndef GRPC_CORE_CLIENT_CONFIG_LB_POLICY_H
-#define GRPC_CORE_CLIENT_CONFIG_LB_POLICY_H
+#ifndef GRPC_CORE_LIB_CLIENT_CONFIG_LB_POLICY_H
+#define GRPC_CORE_LIB_CLIENT_CONFIG_LB_POLICY_H
 
-#include "src/core/client_config/subchannel.h"
-#include "src/core/transport/connectivity_state.h"
+#include "src/core/lib/client_config/subchannel.h"
+#include "src/core/lib/transport/connectivity_state.h"
 
 /** A load balancing policy: specified by a vtable and a struct (which
     is expected to be extended to contain some parameters) */
@@ -141,4 +141,4 @@
 grpc_connectivity_state grpc_lb_policy_check_connectivity(
     grpc_exec_ctx *exec_ctx, grpc_lb_policy *policy);
 
-#endif /* GRPC_CORE_CLIENT_CONFIG_LB_POLICY_H */
+#endif /* GRPC_CORE_LIB_CLIENT_CONFIG_LB_POLICY_H */
diff --git a/src/core/client_config/lb_policy_factory.c b/src/core/lib/client_config/lb_policy_factory.c
similarity index 95%
rename from src/core/client_config/lb_policy_factory.c
rename to src/core/lib/client_config/lb_policy_factory.c
index e49de54..2ca6f42 100644
--- a/src/core/client_config/lb_policy_factory.c
+++ b/src/core/lib/client_config/lb_policy_factory.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/client_config/lb_policy_factory.h"
+#include "src/core/lib/client_config/lb_policy_factory.h"
 
 void grpc_lb_policy_factory_ref(grpc_lb_policy_factory* factory) {
   factory->vtable->ref(factory);
diff --git a/src/core/client_config/lb_policy_factory.h b/src/core/lib/client_config/lb_policy_factory.h
similarity index 90%
rename from src/core/client_config/lb_policy_factory.h
rename to src/core/lib/client_config/lb_policy_factory.h
index 842ba96..36eaf17 100644
--- a/src/core/client_config/lb_policy_factory.h
+++ b/src/core/lib/client_config/lb_policy_factory.h
@@ -31,11 +31,11 @@
  *
  */
 
-#ifndef GRPC_CORE_CLIENT_CONFIG_LB_POLICY_FACTORY_H
-#define GRPC_CORE_CLIENT_CONFIG_LB_POLICY_FACTORY_H
+#ifndef GRPC_CORE_LIB_CLIENT_CONFIG_LB_POLICY_FACTORY_H
+#define GRPC_CORE_LIB_CLIENT_CONFIG_LB_POLICY_FACTORY_H
 
-#include "src/core/client_config/lb_policy.h"
-#include "src/core/client_config/subchannel.h"
+#include "src/core/lib/client_config/lb_policy.h"
+#include "src/core/lib/client_config/subchannel.h"
 
 typedef struct grpc_lb_policy_factory grpc_lb_policy_factory;
 typedef struct grpc_lb_policy_factory_vtable grpc_lb_policy_factory_vtable;
@@ -70,4 +70,4 @@
 grpc_lb_policy *grpc_lb_policy_factory_create_lb_policy(
     grpc_lb_policy_factory *factory, grpc_lb_policy_args *args);
 
-#endif /* GRPC_CORE_CLIENT_CONFIG_LB_POLICY_FACTORY_H */
+#endif /* GRPC_CORE_LIB_CLIENT_CONFIG_LB_POLICY_FACTORY_H */
diff --git a/src/core/client_config/lb_policy_registry.c b/src/core/lib/client_config/lb_policy_registry.c
similarity index 96%
rename from src/core/client_config/lb_policy_registry.c
rename to src/core/lib/client_config/lb_policy_registry.c
index fc302e8..13acfe7 100644
--- a/src/core/client_config/lb_policy_registry.c
+++ b/src/core/lib/client_config/lb_policy_registry.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/client_config/lb_policy_registry.h"
+#include "src/core/lib/client_config/lb_policy_registry.h"
 
 #include <string.h>
 
diff --git a/src/core/client_config/lb_policy_registry.h b/src/core/lib/client_config/lb_policy_registry.h
similarity index 90%
rename from src/core/client_config/lb_policy_registry.h
rename to src/core/lib/client_config/lb_policy_registry.h
index f3a08a3..c251fd9 100644
--- a/src/core/client_config/lb_policy_registry.h
+++ b/src/core/lib/client_config/lb_policy_registry.h
@@ -31,10 +31,10 @@
  *
  */
 
-#ifndef GRPC_CORE_CLIENT_CONFIG_LB_POLICY_REGISTRY_H
-#define GRPC_CORE_CLIENT_CONFIG_LB_POLICY_REGISTRY_H
+#ifndef GRPC_CORE_LIB_CLIENT_CONFIG_LB_POLICY_REGISTRY_H
+#define GRPC_CORE_LIB_CLIENT_CONFIG_LB_POLICY_REGISTRY_H
 
-#include "src/core/client_config/lb_policy_factory.h"
+#include "src/core/lib/client_config/lb_policy_factory.h"
 
 /** Initialize the registry and set \a default_factory as the factory to be
  * returned when no name is provided in a lookup */
@@ -51,4 +51,4 @@
 grpc_lb_policy *grpc_lb_policy_create(const char *name,
                                       grpc_lb_policy_args *args);
 
-#endif /* GRPC_CORE_CLIENT_CONFIG_LB_POLICY_REGISTRY_H */
+#endif /* GRPC_CORE_LIB_CLIENT_CONFIG_LB_POLICY_REGISTRY_H */
diff --git a/src/core/client_config/resolver.c b/src/core/lib/client_config/resolver.c
similarity index 97%
rename from src/core/client_config/resolver.c
rename to src/core/lib/client_config/resolver.c
index eda01e7..32f0643 100644
--- a/src/core/client_config/resolver.c
+++ b/src/core/lib/client_config/resolver.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/client_config/resolver.h"
+#include "src/core/lib/client_config/resolver.h"
 
 void grpc_resolver_init(grpc_resolver *resolver,
                         const grpc_resolver_vtable *vtable) {
diff --git a/src/core/client_config/resolver.h b/src/core/lib/client_config/resolver.h
similarity index 92%
rename from src/core/client_config/resolver.h
rename to src/core/lib/client_config/resolver.h
index 96f88fe..1ee8792 100644
--- a/src/core/client_config/resolver.h
+++ b/src/core/lib/client_config/resolver.h
@@ -31,12 +31,12 @@
  *
  */
 
-#ifndef GRPC_CORE_CLIENT_CONFIG_RESOLVER_H
-#define GRPC_CORE_CLIENT_CONFIG_RESOLVER_H
+#ifndef GRPC_CORE_LIB_CLIENT_CONFIG_RESOLVER_H
+#define GRPC_CORE_LIB_CLIENT_CONFIG_RESOLVER_H
 
-#include "src/core/client_config/client_config.h"
-#include "src/core/client_config/subchannel.h"
-#include "src/core/iomgr/iomgr.h"
+#include "src/core/lib/client_config/client_config.h"
+#include "src/core/lib/client_config/subchannel.h"
+#include "src/core/lib/iomgr/iomgr.h"
 
 typedef struct grpc_resolver grpc_resolver;
 typedef struct grpc_resolver_vtable grpc_resolver_vtable;
@@ -91,4 +91,4 @@
                         grpc_client_config **target_config,
                         grpc_closure *on_complete);
 
-#endif /* GRPC_CORE_CLIENT_CONFIG_RESOLVER_H */
+#endif /* GRPC_CORE_LIB_CLIENT_CONFIG_RESOLVER_H */
diff --git a/src/core/client_config/resolver_factory.c b/src/core/lib/client_config/resolver_factory.c
similarity index 95%
rename from src/core/client_config/resolver_factory.c
rename to src/core/lib/client_config/resolver_factory.c
index e7e9196..0f76c66 100644
--- a/src/core/client_config/resolver_factory.c
+++ b/src/core/lib/client_config/resolver_factory.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/client_config/resolver_factory.h"
+#include "src/core/lib/client_config/resolver_factory.h"
 
 void grpc_resolver_factory_ref(grpc_resolver_factory* factory) {
   factory->vtable->ref(factory);
diff --git a/src/core/client_config/resolver_factory.h b/src/core/lib/client_config/resolver_factory.h
similarity index 90%
rename from src/core/client_config/resolver_factory.h
rename to src/core/lib/client_config/resolver_factory.h
index 477f8db..7765c3c 100644
--- a/src/core/client_config/resolver_factory.h
+++ b/src/core/lib/client_config/resolver_factory.h
@@ -31,12 +31,12 @@
  *
  */
 
-#ifndef GRPC_CORE_CLIENT_CONFIG_RESOLVER_FACTORY_H
-#define GRPC_CORE_CLIENT_CONFIG_RESOLVER_FACTORY_H
+#ifndef GRPC_CORE_LIB_CLIENT_CONFIG_RESOLVER_FACTORY_H
+#define GRPC_CORE_LIB_CLIENT_CONFIG_RESOLVER_FACTORY_H
 
-#include "src/core/client_config/resolver.h"
-#include "src/core/client_config/subchannel_factory.h"
-#include "src/core/client_config/uri_parser.h"
+#include "src/core/lib/client_config/resolver.h"
+#include "src/core/lib/client_config/subchannel_factory.h"
+#include "src/core/lib/client_config/uri_parser.h"
 
 typedef struct grpc_resolver_factory grpc_resolver_factory;
 typedef struct grpc_resolver_factory_vtable grpc_resolver_factory_vtable;
@@ -79,4 +79,4 @@
 char *grpc_resolver_factory_get_default_authority(
     grpc_resolver_factory *factory, grpc_uri *uri);
 
-#endif /* GRPC_CORE_CLIENT_CONFIG_RESOLVER_FACTORY_H */
+#endif /* GRPC_CORE_LIB_CLIENT_CONFIG_RESOLVER_FACTORY_H */
diff --git a/src/core/client_config/resolver_registry.c b/src/core/lib/client_config/resolver_registry.c
similarity index 97%
rename from src/core/client_config/resolver_registry.c
rename to src/core/lib/client_config/resolver_registry.c
index 89a945c..29bd00c 100644
--- a/src/core/client_config/resolver_registry.c
+++ b/src/core/lib/client_config/resolver_registry.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/client_config/resolver_registry.h"
+#include "src/core/lib/client_config/resolver_registry.h"
 
 #include <string.h>
 
diff --git a/src/core/client_config/resolver_registry.h b/src/core/lib/client_config/resolver_registry.h
similarity index 92%
rename from src/core/client_config/resolver_registry.h
rename to src/core/lib/client_config/resolver_registry.h
index 1e4cebe..22289ca 100644
--- a/src/core/client_config/resolver_registry.h
+++ b/src/core/lib/client_config/resolver_registry.h
@@ -31,10 +31,10 @@
  *
  */
 
-#ifndef GRPC_CORE_CLIENT_CONFIG_RESOLVER_REGISTRY_H
-#define GRPC_CORE_CLIENT_CONFIG_RESOLVER_REGISTRY_H
+#ifndef GRPC_CORE_LIB_CLIENT_CONFIG_RESOLVER_REGISTRY_H
+#define GRPC_CORE_LIB_CLIENT_CONFIG_RESOLVER_REGISTRY_H
 
-#include "src/core/client_config/resolver_factory.h"
+#include "src/core/lib/client_config/resolver_factory.h"
 
 void grpc_resolver_registry_init(const char *default_prefix);
 void grpc_resolver_registry_shutdown(void);
@@ -62,4 +62,4 @@
     representing the default authority to pass from a client. */
 char *grpc_get_default_authority(const char *target);
 
-#endif /* GRPC_CORE_CLIENT_CONFIG_RESOLVER_REGISTRY_H */
+#endif /* GRPC_CORE_LIB_CLIENT_CONFIG_RESOLVER_REGISTRY_H */
diff --git a/src/core/client_config/resolvers/dns_resolver.c b/src/core/lib/client_config/resolvers/dns_resolver.c
similarity index 97%
rename from src/core/client_config/resolvers/dns_resolver.c
rename to src/core/lib/client_config/resolvers/dns_resolver.c
index 2b2ee97..ab44573 100644
--- a/src/core/client_config/resolvers/dns_resolver.c
+++ b/src/core/lib/client_config/resolvers/dns_resolver.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/client_config/resolvers/dns_resolver.h"
+#include "src/core/lib/client_config/resolvers/dns_resolver.h"
 
 #include <string.h>
 
@@ -39,11 +39,11 @@
 #include <grpc/support/host_port.h>
 #include <grpc/support/string_util.h>
 
-#include "src/core/client_config/lb_policy_registry.h"
-#include "src/core/iomgr/resolve_address.h"
-#include "src/core/iomgr/timer.h"
-#include "src/core/support/backoff.h"
-#include "src/core/support/string.h"
+#include "src/core/lib/client_config/lb_policy_registry.h"
+#include "src/core/lib/iomgr/resolve_address.h"
+#include "src/core/lib/iomgr/timer.h"
+#include "src/core/lib/support/backoff.h"
+#include "src/core/lib/support/string.h"
 
 #define BACKOFF_MULTIPLIER 1.6
 #define BACKOFF_JITTER 0.2
diff --git a/src/core/client_config/resolvers/dns_resolver.h b/src/core/lib/client_config/resolvers/dns_resolver.h
similarity index 87%
rename from src/core/client_config/resolvers/dns_resolver.h
rename to src/core/lib/client_config/resolvers/dns_resolver.h
index b24280b..eb46e41 100644
--- a/src/core/client_config/resolvers/dns_resolver.h
+++ b/src/core/lib/client_config/resolvers/dns_resolver.h
@@ -31,12 +31,12 @@
  *
  */
 
-#ifndef GRPC_CORE_CLIENT_CONFIG_RESOLVERS_DNS_RESOLVER_H
-#define GRPC_CORE_CLIENT_CONFIG_RESOLVERS_DNS_RESOLVER_H
+#ifndef GRPC_CORE_LIB_CLIENT_CONFIG_RESOLVERS_DNS_RESOLVER_H
+#define GRPC_CORE_LIB_CLIENT_CONFIG_RESOLVERS_DNS_RESOLVER_H
 
-#include "src/core/client_config/resolver_factory.h"
+#include "src/core/lib/client_config/resolver_factory.h"
 
 /** Create a dns resolver factory */
 grpc_resolver_factory *grpc_dns_resolver_factory_create(void);
 
-#endif /* GRPC_CORE_CLIENT_CONFIG_RESOLVERS_DNS_RESOLVER_H */
+#endif /* GRPC_CORE_LIB_CLIENT_CONFIG_RESOLVERS_DNS_RESOLVER_H */
diff --git a/src/core/client_config/resolvers/sockaddr_resolver.c b/src/core/lib/client_config/resolvers/sockaddr_resolver.c
similarity index 97%
rename from src/core/client_config/resolvers/sockaddr_resolver.c
rename to src/core/lib/client_config/resolvers/sockaddr_resolver.c
index 3cb7d79..66cddc3 100644
--- a/src/core/client_config/resolvers/sockaddr_resolver.c
+++ b/src/core/lib/client_config/resolvers/sockaddr_resolver.c
@@ -33,7 +33,7 @@
 
 #include <grpc/support/port_platform.h>
 
-#include "src/core/client_config/resolvers/sockaddr_resolver.h"
+#include "src/core/lib/client_config/resolvers/sockaddr_resolver.h"
 
 #include <stdio.h>
 #include <string.h>
@@ -42,10 +42,10 @@
 #include <grpc/support/host_port.h>
 #include <grpc/support/string_util.h>
 
-#include "src/core/client_config/lb_policy_registry.h"
-#include "src/core/iomgr/resolve_address.h"
-#include "src/core/iomgr/unix_sockets_posix.h"
-#include "src/core/support/string.h"
+#include "src/core/lib/client_config/lb_policy_registry.h"
+#include "src/core/lib/iomgr/resolve_address.h"
+#include "src/core/lib/iomgr/unix_sockets_posix.h"
+#include "src/core/lib/support/string.h"
 
 typedef struct {
   /** base class: must be first */
diff --git a/src/core/client_config/resolvers/sockaddr_resolver.h b/src/core/lib/client_config/resolvers/sockaddr_resolver.h
similarity index 87%
rename from src/core/client_config/resolvers/sockaddr_resolver.h
rename to src/core/lib/client_config/resolvers/sockaddr_resolver.h
index f050329..45c55bd 100644
--- a/src/core/client_config/resolvers/sockaddr_resolver.h
+++ b/src/core/lib/client_config/resolvers/sockaddr_resolver.h
@@ -31,12 +31,12 @@
  *
  */
 
-#ifndef GRPC_CORE_CLIENT_CONFIG_RESOLVERS_SOCKADDR_RESOLVER_H
-#define GRPC_CORE_CLIENT_CONFIG_RESOLVERS_SOCKADDR_RESOLVER_H
+#ifndef GRPC_CORE_LIB_CLIENT_CONFIG_RESOLVERS_SOCKADDR_RESOLVER_H
+#define GRPC_CORE_LIB_CLIENT_CONFIG_RESOLVERS_SOCKADDR_RESOLVER_H
 
 #include <grpc/support/port_platform.h>
 
-#include "src/core/client_config/resolver_factory.h"
+#include "src/core/lib/client_config/resolver_factory.h"
 
 grpc_resolver_factory *grpc_ipv4_resolver_factory_create(void);
 
@@ -47,4 +47,4 @@
 grpc_resolver_factory *grpc_unix_resolver_factory_create(void);
 #endif
 
-#endif /* GRPC_CORE_CLIENT_CONFIG_RESOLVERS_SOCKADDR_RESOLVER_H */
+#endif /* GRPC_CORE_LIB_CLIENT_CONFIG_RESOLVERS_SOCKADDR_RESOLVER_H */
diff --git a/src/core/client_config/resolvers/zookeeper_resolver.c b/src/core/lib/client_config/resolvers/zookeeper_resolver.c
similarity index 97%
rename from src/core/client_config/resolvers/zookeeper_resolver.c
rename to src/core/lib/client_config/resolvers/zookeeper_resolver.c
index e0e1879..3bb0bbd 100644
--- a/src/core/client_config/resolvers/zookeeper_resolver.c
+++ b/src/core/lib/client_config/resolvers/zookeeper_resolver.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/client_config/resolvers/zookeeper_resolver.h"
+#include "src/core/lib/client_config/resolvers/zookeeper_resolver.h"
 
 #include <string.h>
 
@@ -41,12 +41,12 @@
 #include <grpc/grpc_zookeeper.h>
 #include <zookeeper/zookeeper.h>
 
-#include "src/core/client_config/lb_policy_registry.h"
-#include "src/core/client_config/resolver_registry.h"
-#include "src/core/iomgr/resolve_address.h"
-#include "src/core/json/json.h"
-#include "src/core/support/string.h"
-#include "src/core/surface/api_trace.h"
+#include "src/core/lib/client_config/lb_policy_registry.h"
+#include "src/core/lib/client_config/resolver_registry.h"
+#include "src/core/lib/iomgr/resolve_address.h"
+#include "src/core/lib/json/json.h"
+#include "src/core/lib/support/string.h"
+#include "src/core/lib/surface/api_trace.h"
 
 /** Zookeeper session expiration time in milliseconds */
 #define GRPC_ZOOKEEPER_SESSION_TIMEOUT 15000
diff --git a/src/core/client_config/resolvers/zookeeper_resolver.h b/src/core/lib/client_config/resolvers/zookeeper_resolver.h
similarity index 86%
rename from src/core/client_config/resolvers/zookeeper_resolver.h
rename to src/core/lib/client_config/resolvers/zookeeper_resolver.h
index 04bd3ca..7ee7604 100644
--- a/src/core/client_config/resolvers/zookeeper_resolver.h
+++ b/src/core/lib/client_config/resolvers/zookeeper_resolver.h
@@ -31,12 +31,12 @@
  *
  */
 
-#ifndef GRPC_CORE_CLIENT_CONFIG_RESOLVERS_ZOOKEEPER_RESOLVER_H
-#define GRPC_CORE_CLIENT_CONFIG_RESOLVERS_ZOOKEEPER_RESOLVER_H
+#ifndef GRPC_CORE_LIB_CLIENT_CONFIG_RESOLVERS_ZOOKEEPER_RESOLVER_H
+#define GRPC_CORE_LIB_CLIENT_CONFIG_RESOLVERS_ZOOKEEPER_RESOLVER_H
 
-#include "src/core/client_config/resolver_factory.h"
+#include "src/core/lib/client_config/resolver_factory.h"
 
 /** Create a zookeeper resolver factory */
 grpc_resolver_factory *grpc_zookeeper_resolver_factory_create(void);
 
-#endif /* GRPC_CORE_CLIENT_CONFIG_RESOLVERS_ZOOKEEPER_RESOLVER_H */
+#endif /* GRPC_CORE_LIB_CLIENT_CONFIG_RESOLVERS_ZOOKEEPER_RESOLVER_H */
diff --git a/src/core/client_config/subchannel.c b/src/core/lib/client_config/subchannel.c
similarity index 97%
rename from src/core/client_config/subchannel.c
rename to src/core/lib/client_config/subchannel.c
index c5cd504..41242f0 100644
--- a/src/core/client_config/subchannel.c
+++ b/src/core/lib/client_config/subchannel.c
@@ -31,24 +31,24 @@
  *
  */
 
-#include "src/core/client_config/subchannel.h"
+#include "src/core/lib/client_config/subchannel.h"
 
 #include <string.h>
 
 #include <grpc/support/alloc.h>
 #include <grpc/support/avl.h>
 
-#include "src/core/channel/channel_args.h"
-#include "src/core/channel/client_channel.h"
-#include "src/core/channel/connected_channel.h"
-#include "src/core/client_config/initial_connect_string.h"
-#include "src/core/client_config/subchannel_index.h"
-#include "src/core/iomgr/timer.h"
-#include "src/core/profiling/timers.h"
-#include "src/core/support/backoff.h"
-#include "src/core/surface/channel.h"
-#include "src/core/surface/channel_init.h"
-#include "src/core/transport/connectivity_state.h"
+#include "src/core/lib/channel/channel_args.h"
+#include "src/core/lib/channel/client_channel.h"
+#include "src/core/lib/channel/connected_channel.h"
+#include "src/core/lib/client_config/initial_connect_string.h"
+#include "src/core/lib/client_config/subchannel_index.h"
+#include "src/core/lib/iomgr/timer.h"
+#include "src/core/lib/profiling/timers.h"
+#include "src/core/lib/support/backoff.h"
+#include "src/core/lib/surface/channel.h"
+#include "src/core/lib/surface/channel_init.h"
+#include "src/core/lib/transport/connectivity_state.h"
 
 #define INTERNAL_REF_BITS 16
 #define STRONG_REF_MASK (~(gpr_atm)((1 << INTERNAL_REF_BITS) - 1))
diff --git a/src/core/client_config/subchannel.h b/src/core/lib/client_config/subchannel.h
similarity index 95%
rename from src/core/client_config/subchannel.h
rename to src/core/lib/client_config/subchannel.h
index 83e1c58..b4f545b 100644
--- a/src/core/client_config/subchannel.h
+++ b/src/core/lib/client_config/subchannel.h
@@ -31,12 +31,12 @@
  *
  */
 
-#ifndef GRPC_CORE_CLIENT_CONFIG_SUBCHANNEL_H
-#define GRPC_CORE_CLIENT_CONFIG_SUBCHANNEL_H
+#ifndef GRPC_CORE_LIB_CLIENT_CONFIG_SUBCHANNEL_H
+#define GRPC_CORE_LIB_CLIENT_CONFIG_SUBCHANNEL_H
 
-#include "src/core/channel/channel_stack.h"
-#include "src/core/client_config/connector.h"
-#include "src/core/transport/connectivity_state.h"
+#include "src/core/lib/channel/channel_stack.h"
+#include "src/core/lib/client_config/connector.h"
+#include "src/core/lib/transport/connectivity_state.h"
 
 /** A (sub-)channel that knows how to connect to exactly one target
     address. Provides a target for load balancing. */
@@ -171,4 +171,4 @@
                                         grpc_connector *connector,
                                         grpc_subchannel_args *args);
 
-#endif /* GRPC_CORE_CLIENT_CONFIG_SUBCHANNEL_H */
+#endif /* GRPC_CORE_LIB_CLIENT_CONFIG_SUBCHANNEL_H */
diff --git a/src/core/client_config/subchannel_factory.c b/src/core/lib/client_config/subchannel_factory.c
similarity index 95%
rename from src/core/client_config/subchannel_factory.c
rename to src/core/lib/client_config/subchannel_factory.c
index 2c64219..727a48a 100644
--- a/src/core/client_config/subchannel_factory.c
+++ b/src/core/lib/client_config/subchannel_factory.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/client_config/subchannel_factory.h"
+#include "src/core/lib/client_config/subchannel_factory.h"
 
 void grpc_subchannel_factory_ref(grpc_subchannel_factory* factory) {
   factory->vtable->ref(factory);
diff --git a/src/core/client_config/subchannel_factory.h b/src/core/lib/client_config/subchannel_factory.h
similarity index 90%
rename from src/core/client_config/subchannel_factory.h
rename to src/core/lib/client_config/subchannel_factory.h
index c638f37..3ba2f86 100644
--- a/src/core/client_config/subchannel_factory.h
+++ b/src/core/lib/client_config/subchannel_factory.h
@@ -31,11 +31,11 @@
  *
  */
 
-#ifndef GRPC_CORE_CLIENT_CONFIG_SUBCHANNEL_FACTORY_H
-#define GRPC_CORE_CLIENT_CONFIG_SUBCHANNEL_FACTORY_H
+#ifndef GRPC_CORE_LIB_CLIENT_CONFIG_SUBCHANNEL_FACTORY_H
+#define GRPC_CORE_LIB_CLIENT_CONFIG_SUBCHANNEL_FACTORY_H
 
-#include "src/core/channel/channel_stack.h"
-#include "src/core/client_config/subchannel.h"
+#include "src/core/lib/channel/channel_stack.h"
+#include "src/core/lib/client_config/subchannel.h"
 
 typedef struct grpc_subchannel_factory grpc_subchannel_factory;
 typedef struct grpc_subchannel_factory_vtable grpc_subchannel_factory_vtable;
@@ -63,4 +63,4 @@
     grpc_exec_ctx *exec_ctx, grpc_subchannel_factory *factory,
     grpc_subchannel_args *args);
 
-#endif /* GRPC_CORE_CLIENT_CONFIG_SUBCHANNEL_FACTORY_H */
+#endif /* GRPC_CORE_LIB_CLIENT_CONFIG_SUBCHANNEL_FACTORY_H */
diff --git a/src/core/client_config/subchannel_index.c b/src/core/lib/client_config/subchannel_index.c
similarity index 98%
rename from src/core/client_config/subchannel_index.c
rename to src/core/lib/client_config/subchannel_index.c
index 24cc76c..2c54500 100644
--- a/src/core/client_config/subchannel_index.c
+++ b/src/core/lib/client_config/subchannel_index.c
@@ -31,7 +31,7 @@
 //
 //
 
-#include "src/core/client_config/subchannel_index.h"
+#include "src/core/lib/client_config/subchannel_index.h"
 
 #include <stdbool.h>
 #include <string.h>
@@ -40,7 +40,7 @@
 #include <grpc/support/avl.h>
 #include <grpc/support/tls.h>
 
-#include "src/core/channel/channel_args.h"
+#include "src/core/lib/channel/channel_args.h"
 
 // a map of subchannel_key --> subchannel, used for detecting connections
 // to the same destination in order to share them
diff --git a/src/core/client_config/subchannel_index.h b/src/core/lib/client_config/subchannel_index.h
similarity index 92%
rename from src/core/client_config/subchannel_index.h
rename to src/core/lib/client_config/subchannel_index.h
index 3cd5d12..bc5f03b 100644
--- a/src/core/client_config/subchannel_index.h
+++ b/src/core/lib/client_config/subchannel_index.h
@@ -31,11 +31,11 @@
  *
  */
 
-#ifndef GRPC_CORE_CLIENT_CONFIG_SUBCHANNEL_INDEX_H
-#define GRPC_CORE_CLIENT_CONFIG_SUBCHANNEL_INDEX_H
+#ifndef GRPC_CORE_LIB_CLIENT_CONFIG_SUBCHANNEL_INDEX_H
+#define GRPC_CORE_LIB_CLIENT_CONFIG_SUBCHANNEL_INDEX_H
 
-#include "src/core/client_config/connector.h"
-#include "src/core/client_config/subchannel.h"
+#include "src/core/lib/client_config/connector.h"
+#include "src/core/lib/client_config/subchannel.h"
 
 /** \file Provides an index of active subchannels so that they can be
     shared amongst channels */
@@ -74,4 +74,4 @@
 /** Shutdown the subchannel index (global) */
 void grpc_subchannel_index_shutdown(void);
 
-#endif /* GRPC_CORE_CLIENT_CONFIG_SUBCHANNEL_INDEX_H */
+#endif /* GRPC_CORE_LIB_CLIENT_CONFIG_SUBCHANNEL_INDEX_H */
diff --git a/src/core/client_config/uri_parser.c b/src/core/lib/client_config/uri_parser.c
similarity index 98%
rename from src/core/client_config/uri_parser.c
rename to src/core/lib/client_config/uri_parser.c
index cbdfffc..d3228de 100644
--- a/src/core/client_config/uri_parser.c
+++ b/src/core/lib/client_config/uri_parser.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/client_config/uri_parser.h"
+#include "src/core/lib/client_config/uri_parser.h"
 
 #include <string.h>
 
diff --git a/src/core/client_config/uri_parser.h b/src/core/lib/client_config/uri_parser.h
similarity index 92%
rename from src/core/client_config/uri_parser.h
rename to src/core/lib/client_config/uri_parser.h
index af013d8..d70d451 100644
--- a/src/core/client_config/uri_parser.h
+++ b/src/core/lib/client_config/uri_parser.h
@@ -31,8 +31,8 @@
  *
  */
 
-#ifndef GRPC_CORE_CLIENT_CONFIG_URI_PARSER_H
-#define GRPC_CORE_CLIENT_CONFIG_URI_PARSER_H
+#ifndef GRPC_CORE_LIB_CLIENT_CONFIG_URI_PARSER_H
+#define GRPC_CORE_LIB_CLIENT_CONFIG_URI_PARSER_H
 
 typedef struct {
   char *scheme;
@@ -48,4 +48,4 @@
 /** destroy a uri */
 void grpc_uri_destroy(grpc_uri *uri);
 
-#endif /* GRPC_CORE_CLIENT_CONFIG_URI_PARSER_H */
+#endif /* GRPC_CORE_LIB_CLIENT_CONFIG_URI_PARSER_H */
diff --git a/src/core/compression/algorithm_metadata.h b/src/core/lib/compression/algorithm_metadata.h
similarity index 90%
rename from src/core/compression/algorithm_metadata.h
rename to src/core/lib/compression/algorithm_metadata.h
index 34abf1d..47f33ab 100644
--- a/src/core/compression/algorithm_metadata.h
+++ b/src/core/lib/compression/algorithm_metadata.h
@@ -31,11 +31,11 @@
  *
  */
 
-#ifndef GRPC_CORE_COMPRESSION_ALGORITHM_METADATA_H
-#define GRPC_CORE_COMPRESSION_ALGORITHM_METADATA_H
+#ifndef GRPC_CORE_LIB_COMPRESSION_ALGORITHM_METADATA_H
+#define GRPC_CORE_LIB_COMPRESSION_ALGORITHM_METADATA_H
 
 #include <grpc/compression.h>
-#include "src/core/transport/metadata.h"
+#include "src/core/lib/transport/metadata.h"
 
 /** Return compression algorithm based metadata value */
 grpc_mdstr *grpc_compression_algorithm_mdstr(
@@ -50,4 +50,4 @@
 grpc_compression_algorithm grpc_compression_algorithm_from_mdstr(
     grpc_mdstr *str);
 
-#endif /* GRPC_CORE_COMPRESSION_ALGORITHM_METADATA_H */
+#endif /* GRPC_CORE_LIB_COMPRESSION_ALGORITHM_METADATA_H */
diff --git a/src/core/compression/compression_algorithm.c b/src/core/lib/compression/compression_algorithm.c
similarity index 97%
rename from src/core/compression/compression_algorithm.c
rename to src/core/lib/compression/compression_algorithm.c
index 2810a38..f781b45 100644
--- a/src/core/compression/compression_algorithm.c
+++ b/src/core/lib/compression/compression_algorithm.c
@@ -37,9 +37,9 @@
 #include <grpc/compression.h>
 #include <grpc/support/useful.h>
 
-#include "src/core/compression/algorithm_metadata.h"
-#include "src/core/surface/api_trace.h"
-#include "src/core/transport/static_metadata.h"
+#include "src/core/lib/compression/algorithm_metadata.h"
+#include "src/core/lib/surface/api_trace.h"
+#include "src/core/lib/transport/static_metadata.h"
 
 int grpc_compression_algorithm_parse(const char *name, size_t name_length,
                                      grpc_compression_algorithm *algorithm) {
diff --git a/src/core/compression/message_compress.c b/src/core/lib/compression/message_compress.c
similarity index 98%
rename from src/core/compression/message_compress.c
rename to src/core/lib/compression/message_compress.c
index edc21a9..b4b6a2d 100644
--- a/src/core/compression/message_compress.c
+++ b/src/core/lib/compression/message_compress.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/compression/message_compress.h"
+#include "src/core/lib/compression/message_compress.h"
 
 #include <string.h>
 
diff --git a/src/core/compression/message_compress.h b/src/core/lib/compression/message_compress.h
similarity index 93%
rename from src/core/compression/message_compress.h
rename to src/core/lib/compression/message_compress.h
index 20b78c0..b716081 100644
--- a/src/core/compression/message_compress.h
+++ b/src/core/lib/compression/message_compress.h
@@ -31,8 +31,8 @@
  *
  */
 
-#ifndef GRPC_CORE_COMPRESSION_MESSAGE_COMPRESS_H
-#define GRPC_CORE_COMPRESSION_MESSAGE_COMPRESS_H
+#ifndef GRPC_CORE_LIB_COMPRESSION_MESSAGE_COMPRESS_H
+#define GRPC_CORE_LIB_COMPRESSION_MESSAGE_COMPRESS_H
 
 #include <grpc/compression.h>
 #include <grpc/support/slice_buffer.h>
@@ -49,4 +49,4 @@
 int grpc_msg_decompress(grpc_compression_algorithm algorithm,
                         gpr_slice_buffer* input, gpr_slice_buffer* output);
 
-#endif /* GRPC_CORE_COMPRESSION_MESSAGE_COMPRESS_H */
+#endif /* GRPC_CORE_LIB_COMPRESSION_MESSAGE_COMPRESS_H */
diff --git a/src/core/debug/trace.c b/src/core/lib/debug/trace.c
similarity index 96%
rename from src/core/debug/trace.c
rename to src/core/lib/debug/trace.c
index 3b35d81..786dd93 100644
--- a/src/core/debug/trace.c
+++ b/src/core/lib/debug/trace.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,14 +31,14 @@
  *
  */
 
-#include "src/core/debug/trace.h"
+#include "src/core/lib/debug/trace.h"
 
 #include <string.h>
 
 #include <grpc/grpc.h>
 #include <grpc/support/alloc.h>
 #include <grpc/support/log.h>
-#include "src/core/support/env.h"
+#include "src/core/lib/support/env.h"
 
 typedef struct tracer {
   const char *name;
diff --git a/src/core/debug/trace.h b/src/core/lib/debug/trace.h
similarity index 93%
rename from src/core/debug/trace.h
rename to src/core/lib/debug/trace.h
index 91ec140..76ea5a7 100644
--- a/src/core/debug/trace.h
+++ b/src/core/lib/debug/trace.h
@@ -31,8 +31,8 @@
  *
  */
 
-#ifndef GRPC_CORE_DEBUG_TRACE_H
-#define GRPC_CORE_DEBUG_TRACE_H
+#ifndef GRPC_CORE_LIB_DEBUG_TRACE_H
+#define GRPC_CORE_LIB_DEBUG_TRACE_H
 
 #include <grpc/support/port_platform.h>
 
@@ -40,4 +40,4 @@
 void grpc_tracer_init(const char *env_var_name);
 void grpc_tracer_shutdown(void);
 
-#endif /* GRPC_CORE_DEBUG_TRACE_H */
+#endif /* GRPC_CORE_LIB_DEBUG_TRACE_H */
diff --git a/src/core/http/format_request.c b/src/core/lib/http/format_request.c
similarity index 97%
rename from src/core/http/format_request.c
rename to src/core/lib/http/format_request.c
index ac9bb8a..95b3918 100644
--- a/src/core/http/format_request.c
+++ b/src/core/lib/http/format_request.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/http/format_request.h"
+#include "src/core/lib/http/format_request.h"
 
 #include <stdarg.h>
 #include <stdio.h>
@@ -41,7 +41,7 @@
 #include <grpc/support/slice.h>
 #include <grpc/support/string_util.h>
 #include <grpc/support/useful.h>
-#include "src/core/support/string.h"
+#include "src/core/lib/support/string.h"
 
 static void fill_common_header(const grpc_httpcli_request *request,
                                gpr_strvec *buf) {
diff --git a/src/core/http/format_request.h b/src/core/lib/http/format_request.h
similarity index 91%
rename from src/core/http/format_request.h
rename to src/core/lib/http/format_request.h
index dfd6fad..2e933d8 100644
--- a/src/core/http/format_request.h
+++ b/src/core/lib/http/format_request.h
@@ -31,15 +31,15 @@
  *
  */
 
-#ifndef GRPC_CORE_HTTP_FORMAT_REQUEST_H
-#define GRPC_CORE_HTTP_FORMAT_REQUEST_H
+#ifndef GRPC_CORE_LIB_HTTP_FORMAT_REQUEST_H
+#define GRPC_CORE_LIB_HTTP_FORMAT_REQUEST_H
 
 #include <grpc/support/slice.h>
-#include "src/core/http/httpcli.h"
+#include "src/core/lib/http/httpcli.h"
 
 gpr_slice grpc_httpcli_format_get_request(const grpc_httpcli_request *request);
 gpr_slice grpc_httpcli_format_post_request(const grpc_httpcli_request *request,
                                            const char *body_bytes,
                                            size_t body_size);
 
-#endif /* GRPC_CORE_HTTP_FORMAT_REQUEST_H */
+#endif /* GRPC_CORE_LIB_HTTP_FORMAT_REQUEST_H */
diff --git a/src/core/http/httpcli.c b/src/core/lib/http/httpcli.c
similarity index 96%
rename from src/core/http/httpcli.c
rename to src/core/lib/http/httpcli.c
index 1c0d333..aab28ad 100644
--- a/src/core/http/httpcli.c
+++ b/src/core/lib/http/httpcli.c
@@ -31,8 +31,8 @@
  *
  */
 
-#include "src/core/http/httpcli.h"
-#include "src/core/iomgr/sockaddr.h"
+#include "src/core/lib/http/httpcli.h"
+#include "src/core/lib/iomgr/sockaddr.h"
 
 #include <string.h>
 
@@ -40,13 +40,13 @@
 #include <grpc/support/log.h>
 #include <grpc/support/string_util.h>
 
-#include "src/core/http/format_request.h"
-#include "src/core/http/parser.h"
-#include "src/core/iomgr/endpoint.h"
-#include "src/core/iomgr/iomgr_internal.h"
-#include "src/core/iomgr/resolve_address.h"
-#include "src/core/iomgr/tcp_client.h"
-#include "src/core/support/string.h"
+#include "src/core/lib/http/format_request.h"
+#include "src/core/lib/http/parser.h"
+#include "src/core/lib/iomgr/endpoint.h"
+#include "src/core/lib/iomgr/iomgr_internal.h"
+#include "src/core/lib/iomgr/resolve_address.h"
+#include "src/core/lib/iomgr/tcp_client.h"
+#include "src/core/lib/support/string.h"
 
 typedef struct {
   gpr_slice request_text;
diff --git a/src/core/http/httpcli.h b/src/core/lib/http/httpcli.h
similarity index 95%
rename from src/core/http/httpcli.h
rename to src/core/lib/http/httpcli.h
index 0bf4f2f..b8d54a8 100644
--- a/src/core/http/httpcli.h
+++ b/src/core/lib/http/httpcli.h
@@ -31,17 +31,17 @@
  *
  */
 
-#ifndef GRPC_CORE_HTTP_HTTPCLI_H
-#define GRPC_CORE_HTTP_HTTPCLI_H
+#ifndef GRPC_CORE_LIB_HTTP_HTTPCLI_H
+#define GRPC_CORE_LIB_HTTP_HTTPCLI_H
 
 #include <stddef.h>
 
 #include <grpc/support/time.h>
 
-#include "src/core/http/parser.h"
-#include "src/core/iomgr/endpoint.h"
-#include "src/core/iomgr/iomgr_internal.h"
-#include "src/core/iomgr/pollset_set.h"
+#include "src/core/lib/http/parser.h"
+#include "src/core/lib/iomgr/endpoint.h"
+#include "src/core/lib/iomgr/iomgr_internal.h"
+#include "src/core/lib/iomgr/pollset_set.h"
 
 /* User agent this library reports */
 #define GRPC_HTTPCLI_USER_AGENT "grpc-httpcli/0.0"
@@ -141,4 +141,4 @@
 void grpc_httpcli_set_override(grpc_httpcli_get_override get,
                                grpc_httpcli_post_override post);
 
-#endif /* GRPC_CORE_HTTP_HTTPCLI_H */
+#endif /* GRPC_CORE_LIB_HTTP_HTTPCLI_H */
diff --git a/src/core/http/httpcli_security_connector.c b/src/core/lib/http/httpcli_security_connector.c
similarity index 97%
rename from src/core/http/httpcli_security_connector.c
rename to src/core/lib/http/httpcli_security_connector.c
index a1a32f7..6f1630a 100644
--- a/src/core/http/httpcli_security_connector.c
+++ b/src/core/lib/http/httpcli_security_connector.c
@@ -31,16 +31,16 @@
  *
  */
 
-#include "src/core/http/httpcli.h"
+#include "src/core/lib/http/httpcli.h"
 
 #include <string.h>
 
 #include <grpc/support/alloc.h>
 #include <grpc/support/log.h>
 #include <grpc/support/string_util.h>
-#include "src/core/security/handshake.h"
-#include "src/core/support/string.h"
-#include "src/core/tsi/ssl_transport_security.h"
+#include "src/core/lib/security/handshake.h"
+#include "src/core/lib/support/string.h"
+#include "src/core/lib/tsi/ssl_transport_security.h"
 
 typedef struct {
   grpc_channel_security_connector base;
diff --git a/src/core/http/parser.c b/src/core/lib/http/parser.c
similarity index 99%
rename from src/core/http/parser.c
rename to src/core/lib/http/parser.c
index ebec8a5..5d4e304 100644
--- a/src/core/http/parser.c
+++ b/src/core/lib/http/parser.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/http/parser.h"
+#include "src/core/lib/http/parser.h"
 
 #include <string.h>
 
diff --git a/src/core/http/parser.h b/src/core/lib/http/parser.h
similarity index 96%
rename from src/core/http/parser.h
rename to src/core/lib/http/parser.h
index 39517e4..6a72174 100644
--- a/src/core/http/parser.h
+++ b/src/core/lib/http/parser.h
@@ -31,8 +31,8 @@
  *
  */
 
-#ifndef GRPC_CORE_HTTP_PARSER_H
-#define GRPC_CORE_HTTP_PARSER_H
+#ifndef GRPC_CORE_LIB_HTTP_PARSER_H
+#define GRPC_CORE_LIB_HTTP_PARSER_H
 
 #include <grpc/support/port_platform.h>
 #include <grpc/support/slice.h>
@@ -113,4 +113,4 @@
 int grpc_http_parser_parse(grpc_http_parser *parser, gpr_slice slice);
 int grpc_http_parser_eof(grpc_http_parser *parser);
 
-#endif /* GRPC_CORE_HTTP_PARSER_H */
+#endif /* GRPC_CORE_LIB_HTTP_PARSER_H */
diff --git a/src/core/iomgr/closure.c b/src/core/lib/iomgr/closure.c
similarity index 98%
rename from src/core/iomgr/closure.c
rename to src/core/lib/iomgr/closure.c
index 3a96f73..724ebc2 100644
--- a/src/core/iomgr/closure.c
+++ b/src/core/lib/iomgr/closure.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/iomgr/closure.h"
+#include "src/core/lib/iomgr/closure.h"
 
 #include <grpc/support/alloc.h>
 
diff --git a/src/core/iomgr/closure.h b/src/core/lib/iomgr/closure.h
similarity index 96%
rename from src/core/iomgr/closure.h
rename to src/core/lib/iomgr/closure.h
index d5e1f45..2597cf1 100644
--- a/src/core/iomgr/closure.h
+++ b/src/core/lib/iomgr/closure.h
@@ -31,8 +31,8 @@
  *
  */
 
-#ifndef GRPC_CORE_IOMGR_CLOSURE_H
-#define GRPC_CORE_IOMGR_CLOSURE_H
+#ifndef GRPC_CORE_LIB_IOMGR_CLOSURE_H
+#define GRPC_CORE_LIB_IOMGR_CLOSURE_H
 
 #include <grpc/support/port_platform.h>
 #include <stdbool.h>
@@ -95,4 +95,4 @@
 /** return the next pointer for a queued closure list */
 grpc_closure *grpc_closure_next(grpc_closure *closure);
 
-#endif /* GRPC_CORE_IOMGR_CLOSURE_H */
+#endif /* GRPC_CORE_LIB_IOMGR_CLOSURE_H */
diff --git a/src/core/iomgr/endpoint.c b/src/core/lib/iomgr/endpoint.c
similarity index 96%
rename from src/core/iomgr/endpoint.c
rename to src/core/lib/iomgr/endpoint.c
index bd64707..576b5a6 100644
--- a/src/core/iomgr/endpoint.c
+++ b/src/core/lib/iomgr/endpoint.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/iomgr/endpoint.h"
+#include "src/core/lib/iomgr/endpoint.h"
 
 void grpc_endpoint_read(grpc_exec_ctx* exec_ctx, grpc_endpoint* ep,
                         gpr_slice_buffer* slices, grpc_closure* cb) {
diff --git a/src/core/iomgr/endpoint.h b/src/core/lib/iomgr/endpoint.h
similarity index 95%
rename from src/core/iomgr/endpoint.h
rename to src/core/lib/iomgr/endpoint.h
index b4be852..918e705 100644
--- a/src/core/iomgr/endpoint.h
+++ b/src/core/lib/iomgr/endpoint.h
@@ -31,14 +31,14 @@
  *
  */
 
-#ifndef GRPC_CORE_IOMGR_ENDPOINT_H
-#define GRPC_CORE_IOMGR_ENDPOINT_H
+#ifndef GRPC_CORE_LIB_IOMGR_ENDPOINT_H
+#define GRPC_CORE_LIB_IOMGR_ENDPOINT_H
 
 #include <grpc/support/slice.h>
 #include <grpc/support/slice_buffer.h>
 #include <grpc/support/time.h>
-#include "src/core/iomgr/pollset.h"
-#include "src/core/iomgr/pollset_set.h"
+#include "src/core/lib/iomgr/pollset.h"
+#include "src/core/lib/iomgr/pollset_set.h"
 
 /* An endpoint caps a streaming channel between two communicating processes.
    Examples may be: a tcp socket, <stdin+stdout>, or some shared memory. */
@@ -99,4 +99,4 @@
   const grpc_endpoint_vtable *vtable;
 };
 
-#endif /* GRPC_CORE_IOMGR_ENDPOINT_H */
+#endif /* GRPC_CORE_LIB_IOMGR_ENDPOINT_H */
diff --git a/src/core/iomgr/endpoint_pair.h b/src/core/lib/iomgr/endpoint_pair.h
similarity index 90%
rename from src/core/iomgr/endpoint_pair.h
rename to src/core/lib/iomgr/endpoint_pair.h
index 59015d8..bef8bb3 100644
--- a/src/core/iomgr/endpoint_pair.h
+++ b/src/core/lib/iomgr/endpoint_pair.h
@@ -31,10 +31,10 @@
  *
  */
 
-#ifndef GRPC_CORE_IOMGR_ENDPOINT_PAIR_H
-#define GRPC_CORE_IOMGR_ENDPOINT_PAIR_H
+#ifndef GRPC_CORE_LIB_IOMGR_ENDPOINT_PAIR_H
+#define GRPC_CORE_LIB_IOMGR_ENDPOINT_PAIR_H
 
-#include "src/core/iomgr/endpoint.h"
+#include "src/core/lib/iomgr/endpoint.h"
 
 typedef struct {
   grpc_endpoint *client;
@@ -44,4 +44,4 @@
 grpc_endpoint_pair grpc_iomgr_create_endpoint_pair(const char *name,
                                                    size_t read_slice_size);
 
-#endif /* GRPC_CORE_IOMGR_ENDPOINT_PAIR_H */
+#endif /* GRPC_CORE_LIB_IOMGR_ENDPOINT_PAIR_H */
diff --git a/src/core/iomgr/endpoint_pair_posix.c b/src/core/lib/iomgr/endpoint_pair_posix.c
similarity index 92%
rename from src/core/iomgr/endpoint_pair_posix.c
rename to src/core/lib/iomgr/endpoint_pair_posix.c
index 66d19a4..e0ce47c 100644
--- a/src/core/iomgr/endpoint_pair_posix.c
+++ b/src/core/lib/iomgr/endpoint_pair_posix.c
@@ -35,9 +35,9 @@
 
 #ifdef GPR_POSIX_SOCKET
 
-#include "src/core/iomgr/endpoint_pair.h"
-#include "src/core/iomgr/socket_utils_posix.h"
-#include "src/core/iomgr/unix_sockets_posix.h"
+#include "src/core/lib/iomgr/endpoint_pair.h"
+#include "src/core/lib/iomgr/socket_utils_posix.h"
+#include "src/core/lib/iomgr/unix_sockets_posix.h"
 
 #include <errno.h>
 #include <fcntl.h>
@@ -48,8 +48,8 @@
 #include <grpc/support/alloc.h>
 #include <grpc/support/log.h>
 #include <grpc/support/string_util.h>
-#include "src/core/iomgr/tcp_posix.h"
-#include "src/core/support/string.h"
+#include "src/core/lib/iomgr/tcp_posix.h"
+#include "src/core/lib/support/string.h"
 
 static void create_sockets(int sv[2]) {
   int flags;
diff --git a/src/core/iomgr/endpoint_pair_windows.c b/src/core/lib/iomgr/endpoint_pair_windows.c
similarity index 94%
rename from src/core/iomgr/endpoint_pair_windows.c
rename to src/core/lib/iomgr/endpoint_pair_windows.c
index 2024f58..cba18db 100644
--- a/src/core/iomgr/endpoint_pair_windows.c
+++ b/src/core/lib/iomgr/endpoint_pair_windows.c
@@ -34,16 +34,16 @@
 #include <grpc/support/port_platform.h>
 
 #ifdef GPR_WINSOCK_SOCKET
-#include "src/core/iomgr/endpoint_pair.h"
-#include "src/core/iomgr/sockaddr_utils.h"
+#include "src/core/lib/iomgr/endpoint_pair.h"
+#include "src/core/lib/iomgr/sockaddr_utils.h"
 
 #include <errno.h>
 #include <fcntl.h>
 #include <string.h>
 
 #include <grpc/support/log.h>
-#include "src/core/iomgr/socket_windows.h"
-#include "src/core/iomgr/tcp_windows.h"
+#include "src/core/lib/iomgr/socket_windows.h"
+#include "src/core/lib/iomgr/tcp_windows.h"
 
 static void create_sockets(SOCKET sv[2]) {
   SOCKET svr_sock = INVALID_SOCKET;
diff --git a/src/core/iomgr/exec_ctx.c b/src/core/lib/iomgr/exec_ctx.c
similarity index 98%
rename from src/core/iomgr/exec_ctx.c
rename to src/core/lib/iomgr/exec_ctx.c
index 893fe45..1ed6da6 100644
--- a/src/core/iomgr/exec_ctx.c
+++ b/src/core/lib/iomgr/exec_ctx.c
@@ -31,13 +31,13 @@
  *
  */
 
-#include "src/core/iomgr/exec_ctx.h"
+#include "src/core/lib/iomgr/exec_ctx.h"
 
 #include <grpc/support/log.h>
 #include <grpc/support/sync.h>
 #include <grpc/support/thd.h>
 
-#include "src/core/profiling/timers.h"
+#include "src/core/lib/profiling/timers.h"
 
 #ifndef GRPC_EXECUTION_CONTEXT_SANITIZER
 bool grpc_exec_ctx_flush(grpc_exec_ctx *exec_ctx) {
diff --git a/src/core/iomgr/exec_ctx.h b/src/core/lib/iomgr/exec_ctx.h
similarity index 95%
rename from src/core/iomgr/exec_ctx.h
rename to src/core/lib/iomgr/exec_ctx.h
index 07b54a0..e62ea2d 100644
--- a/src/core/iomgr/exec_ctx.h
+++ b/src/core/lib/iomgr/exec_ctx.h
@@ -31,10 +31,10 @@
  *
  */
 
-#ifndef GRPC_CORE_IOMGR_EXEC_CTX_H
-#define GRPC_CORE_IOMGR_EXEC_CTX_H
+#ifndef GRPC_CORE_LIB_IOMGR_EXEC_CTX_H
+#define GRPC_CORE_LIB_IOMGR_EXEC_CTX_H
 
-#include "src/core/iomgr/closure.h"
+#include "src/core/lib/iomgr/closure.h"
 
 /* #define GRPC_EXECUTION_CONTEXT_SANITIZER 1 */
 
@@ -95,4 +95,4 @@
 void grpc_exec_ctx_global_init(void);
 void grpc_exec_ctx_global_shutdown(void);
 
-#endif /* GRPC_CORE_IOMGR_EXEC_CTX_H */
+#endif /* GRPC_CORE_LIB_IOMGR_EXEC_CTX_H */
diff --git a/src/core/iomgr/executor.c b/src/core/lib/iomgr/executor.c
similarity index 98%
rename from src/core/iomgr/executor.c
rename to src/core/lib/iomgr/executor.c
index f22d8f3..42a9db3 100644
--- a/src/core/iomgr/executor.c
+++ b/src/core/lib/iomgr/executor.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/iomgr/executor.h"
+#include "src/core/lib/iomgr/executor.h"
 
 #include <string.h>
 
@@ -39,7 +39,7 @@
 #include <grpc/support/log.h>
 #include <grpc/support/sync.h>
 #include <grpc/support/thd.h>
-#include "src/core/iomgr/exec_ctx.h"
+#include "src/core/lib/iomgr/exec_ctx.h"
 
 typedef struct grpc_executor_data {
   int busy;          /**< is the thread currently running? */
diff --git a/src/core/iomgr/executor.h b/src/core/lib/iomgr/executor.h
similarity index 92%
rename from src/core/iomgr/executor.h
rename to src/core/lib/iomgr/executor.h
index f66b356..f187141 100644
--- a/src/core/iomgr/executor.h
+++ b/src/core/lib/iomgr/executor.h
@@ -31,10 +31,10 @@
  *
  */
 
-#ifndef GRPC_CORE_IOMGR_EXECUTOR_H
-#define GRPC_CORE_IOMGR_EXECUTOR_H
+#ifndef GRPC_CORE_LIB_IOMGR_EXECUTOR_H
+#define GRPC_CORE_LIB_IOMGR_EXECUTOR_H
 
-#include "src/core/iomgr/closure.h"
+#include "src/core/lib/iomgr/closure.h"
 
 /** Initialize the global executor.
  *
@@ -50,4 +50,4 @@
 /** Shutdown the executor, running all pending work as part of the call */
 void grpc_executor_shutdown();
 
-#endif /* GRPC_CORE_IOMGR_EXECUTOR_H */
+#endif /* GRPC_CORE_LIB_IOMGR_EXECUTOR_H */
diff --git a/src/core/iomgr/fd_posix.c b/src/core/lib/iomgr/fd_posix.c
similarity index 99%
rename from src/core/iomgr/fd_posix.c
rename to src/core/lib/iomgr/fd_posix.c
index b4d038a..72c924b 100644
--- a/src/core/iomgr/fd_posix.c
+++ b/src/core/lib/iomgr/fd_posix.c
@@ -35,7 +35,7 @@
 
 #ifdef GPR_POSIX_SOCKET
 
-#include "src/core/iomgr/fd_posix.h"
+#include "src/core/lib/iomgr/fd_posix.h"
 
 #include <assert.h>
 #include <sys/socket.h>
@@ -46,7 +46,7 @@
 #include <grpc/support/string_util.h>
 #include <grpc/support/useful.h>
 
-#include "src/core/iomgr/pollset_posix.h"
+#include "src/core/lib/iomgr/pollset_posix.h"
 
 #define CLOSURE_NOT_READY ((grpc_closure *)0)
 #define CLOSURE_READY ((grpc_closure *)1)
diff --git a/src/core/iomgr/fd_posix.h b/src/core/lib/iomgr/fd_posix.h
similarity index 97%
rename from src/core/iomgr/fd_posix.h
rename to src/core/lib/iomgr/fd_posix.h
index 1993ada..69d09ef 100644
--- a/src/core/iomgr/fd_posix.h
+++ b/src/core/lib/iomgr/fd_posix.h
@@ -31,14 +31,14 @@
  *
  */
 
-#ifndef GRPC_CORE_IOMGR_FD_POSIX_H
-#define GRPC_CORE_IOMGR_FD_POSIX_H
+#ifndef GRPC_CORE_LIB_IOMGR_FD_POSIX_H
+#define GRPC_CORE_LIB_IOMGR_FD_POSIX_H
 
 #include <grpc/support/atm.h>
 #include <grpc/support/sync.h>
 #include <grpc/support/time.h>
-#include "src/core/iomgr/iomgr_internal.h"
-#include "src/core/iomgr/pollset.h"
+#include "src/core/lib/iomgr/iomgr_internal.h"
+#include "src/core/lib/iomgr/pollset.h"
 
 typedef struct grpc_fd grpc_fd;
 
@@ -189,4 +189,4 @@
 void grpc_fd_global_init(void);
 void grpc_fd_global_shutdown(void);
 
-#endif /* GRPC_CORE_IOMGR_FD_POSIX_H */
+#endif /* GRPC_CORE_LIB_IOMGR_FD_POSIX_H */
diff --git a/src/core/iomgr/iocp_windows.c b/src/core/lib/iomgr/iocp_windows.c
similarity index 97%
rename from src/core/iomgr/iocp_windows.c
rename to src/core/lib/iomgr/iocp_windows.c
index 37e277d..682a32c 100644
--- a/src/core/iomgr/iocp_windows.c
+++ b/src/core/lib/iomgr/iocp_windows.c
@@ -42,10 +42,10 @@
 #include <grpc/support/log_win32.h>
 #include <grpc/support/thd.h>
 
-#include "src/core/iomgr/iocp_windows.h"
-#include "src/core/iomgr/iomgr_internal.h"
-#include "src/core/iomgr/socket_windows.h"
-#include "src/core/iomgr/timer.h"
+#include "src/core/lib/iomgr/iocp_windows.h"
+#include "src/core/lib/iomgr/iomgr_internal.h"
+#include "src/core/lib/iomgr/socket_windows.h"
+#include "src/core/lib/iomgr/timer.h"
 
 static ULONG g_iocp_kick_token;
 static OVERLAPPED g_iocp_custom_overlap;
diff --git a/src/core/iomgr/iocp_windows.h b/src/core/lib/iomgr/iocp_windows.h
similarity index 92%
rename from src/core/iomgr/iocp_windows.h
rename to src/core/lib/iomgr/iocp_windows.h
index 570b892..856c837 100644
--- a/src/core/iomgr/iocp_windows.h
+++ b/src/core/lib/iomgr/iocp_windows.h
@@ -31,12 +31,12 @@
  *
  */
 
-#ifndef GRPC_CORE_IOMGR_IOCP_WINDOWS_H
-#define GRPC_CORE_IOMGR_IOCP_WINDOWS_H
+#ifndef GRPC_CORE_LIB_IOMGR_IOCP_WINDOWS_H
+#define GRPC_CORE_LIB_IOMGR_IOCP_WINDOWS_H
 
 #include <grpc/support/sync.h>
 
-#include "src/core/iomgr/socket_windows.h"
+#include "src/core/lib/iomgr/socket_windows.h"
 
 typedef enum {
   GRPC_IOCP_WORK_WORK,
@@ -60,4 +60,4 @@
                                 grpc_winsocket *winsocket,
                                 grpc_closure *closure);
 
-#endif /* GRPC_CORE_IOMGR_IOCP_WINDOWS_H */
+#endif /* GRPC_CORE_LIB_IOMGR_IOCP_WINDOWS_H */
diff --git a/src/core/iomgr/iomgr.c b/src/core/lib/iomgr/iomgr.c
similarity index 95%
rename from src/core/iomgr/iomgr.c
rename to src/core/lib/iomgr/iomgr.c
index 3ab4430..bb544c8 100644
--- a/src/core/iomgr/iomgr.c
+++ b/src/core/lib/iomgr/iomgr.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/iomgr/iomgr.h"
+#include "src/core/lib/iomgr/iomgr.h"
 
 #include <stdlib.h>
 #include <string.h>
@@ -43,11 +43,11 @@
 #include <grpc/support/thd.h>
 #include <grpc/support/useful.h>
 
-#include "src/core/iomgr/exec_ctx.h"
-#include "src/core/iomgr/iomgr_internal.h"
-#include "src/core/iomgr/timer.h"
-#include "src/core/support/env.h"
-#include "src/core/support/string.h"
+#include "src/core/lib/iomgr/exec_ctx.h"
+#include "src/core/lib/iomgr/iomgr_internal.h"
+#include "src/core/lib/iomgr/timer.h"
+#include "src/core/lib/support/env.h"
+#include "src/core/lib/support/string.h"
 
 static gpr_mu g_mu;
 static gpr_cv g_rcv;
diff --git a/src/core/iomgr/iomgr.h b/src/core/lib/iomgr/iomgr.h
similarity index 93%
rename from src/core/iomgr/iomgr.h
rename to src/core/lib/iomgr/iomgr.h
index e1237a4..babf0a8 100644
--- a/src/core/iomgr/iomgr.h
+++ b/src/core/lib/iomgr/iomgr.h
@@ -31,8 +31,8 @@
  *
  */
 
-#ifndef GRPC_CORE_IOMGR_IOMGR_H
-#define GRPC_CORE_IOMGR_IOMGR_H
+#ifndef GRPC_CORE_LIB_IOMGR_IOMGR_H
+#define GRPC_CORE_LIB_IOMGR_IOMGR_H
 
 /** Initializes the iomgr. */
 void grpc_iomgr_init(void);
@@ -40,4 +40,4 @@
 /** Signals the intention to shutdown the iomgr. */
 void grpc_iomgr_shutdown(void);
 
-#endif /* GRPC_CORE_IOMGR_IOMGR_H */
+#endif /* GRPC_CORE_LIB_IOMGR_IOMGR_H */
diff --git a/src/core/iomgr/iomgr_internal.h b/src/core/lib/iomgr/iomgr_internal.h
similarity index 92%
rename from src/core/iomgr/iomgr_internal.h
rename to src/core/lib/iomgr/iomgr_internal.h
index 1cad318..0963630 100644
--- a/src/core/iomgr/iomgr_internal.h
+++ b/src/core/lib/iomgr/iomgr_internal.h
@@ -31,13 +31,13 @@
  *
  */
 
-#ifndef GRPC_CORE_IOMGR_IOMGR_INTERNAL_H
-#define GRPC_CORE_IOMGR_IOMGR_INTERNAL_H
+#ifndef GRPC_CORE_LIB_IOMGR_IOMGR_INTERNAL_H
+#define GRPC_CORE_LIB_IOMGR_IOMGR_INTERNAL_H
 
 #include <stdbool.h>
 
 #include <grpc/support/sync.h>
-#include "src/core/iomgr/iomgr.h"
+#include "src/core/lib/iomgr/iomgr.h"
 
 typedef struct grpc_iomgr_object {
   char *name;
@@ -59,4 +59,4 @@
 
 bool grpc_iomgr_abort_on_leaks(void);
 
-#endif /* GRPC_CORE_IOMGR_IOMGR_INTERNAL_H */
+#endif /* GRPC_CORE_LIB_IOMGR_IOMGR_INTERNAL_H */
diff --git a/src/core/iomgr/iomgr_posix.c b/src/core/lib/iomgr/iomgr_posix.c
similarity index 91%
rename from src/core/iomgr/iomgr_posix.c
rename to src/core/lib/iomgr/iomgr_posix.c
index 2f7f347..e4990f7 100644
--- a/src/core/iomgr/iomgr_posix.c
+++ b/src/core/lib/iomgr/iomgr_posix.c
@@ -35,10 +35,10 @@
 
 #ifdef GPR_POSIX_SOCKET
 
-#include "src/core/debug/trace.h"
-#include "src/core/iomgr/fd_posix.h"
-#include "src/core/iomgr/iomgr_posix.h"
-#include "src/core/iomgr/tcp_posix.h"
+#include "src/core/lib/debug/trace.h"
+#include "src/core/lib/iomgr/fd_posix.h"
+#include "src/core/lib/iomgr/iomgr_posix.h"
+#include "src/core/lib/iomgr/tcp_posix.h"
 
 void grpc_iomgr_platform_init(void) {
   grpc_fd_global_init();
diff --git a/src/core/iomgr/workqueue_windows.h b/src/core/lib/iomgr/iomgr_posix.h
similarity index 89%
copy from src/core/iomgr/workqueue_windows.h
copy to src/core/lib/iomgr/iomgr_posix.h
index 7e81869..6a8996e 100644
--- a/src/core/iomgr/workqueue_windows.h
+++ b/src/core/lib/iomgr/iomgr_posix.h
@@ -31,7 +31,9 @@
  *
  */
 
-#ifndef GRPC_CORE_IOMGR_WORKQUEUE_WINDOWS_H
-#define GRPC_CORE_IOMGR_WORKQUEUE_WINDOWS_H
+#ifndef GRPC_CORE_LIB_IOMGR_IOMGR_POSIX_H
+#define GRPC_CORE_LIB_IOMGR_IOMGR_POSIX_H
 
-#endif /* GRPC_CORE_IOMGR_WORKQUEUE_WINDOWS_H */
+#include "src/core/lib/iomgr/iomgr_internal.h"
+
+#endif /* GRPC_CORE_LIB_IOMGR_IOMGR_POSIX_H */
diff --git a/src/core/iomgr/iomgr_windows.c b/src/core/lib/iomgr/iomgr_windows.c
similarity index 92%
rename from src/core/iomgr/iomgr_windows.c
rename to src/core/lib/iomgr/iomgr_windows.c
index 2d10413..af7e616 100644
--- a/src/core/iomgr/iomgr_windows.c
+++ b/src/core/lib/iomgr/iomgr_windows.c
@@ -35,13 +35,13 @@
 
 #ifdef GPR_WINSOCK_SOCKET
 
-#include "src/core/iomgr/sockaddr_win32.h"
+#include "src/core/lib/iomgr/sockaddr_win32.h"
 
 #include <grpc/support/log.h>
 
-#include "src/core/iomgr/iocp_windows.h"
-#include "src/core/iomgr/iomgr.h"
-#include "src/core/iomgr/socket_windows.h"
+#include "src/core/lib/iomgr/iocp_windows.h"
+#include "src/core/lib/iomgr/iomgr.h"
+#include "src/core/lib/iomgr/socket_windows.h"
 
 /* Windows' io manager is going to be fully designed using IO completion
    ports. All of what we're doing here is basically make sure that
diff --git a/src/core/iomgr/pollset.h b/src/core/lib/iomgr/pollset.h
similarity index 95%
rename from src/core/iomgr/pollset.h
rename to src/core/lib/iomgr/pollset.h
index 9500b1a..6156124 100644
--- a/src/core/iomgr/pollset.h
+++ b/src/core/lib/iomgr/pollset.h
@@ -31,14 +31,14 @@
  *
  */
 
-#ifndef GRPC_CORE_IOMGR_POLLSET_H
-#define GRPC_CORE_IOMGR_POLLSET_H
+#ifndef GRPC_CORE_LIB_IOMGR_POLLSET_H
+#define GRPC_CORE_LIB_IOMGR_POLLSET_H
 
 #include <grpc/support/port_platform.h>
 #include <grpc/support/sync.h>
 #include <grpc/support/time.h>
 
-#include "src/core/iomgr/exec_ctx.h"
+#include "src/core/lib/iomgr/exec_ctx.h"
 
 #define GRPC_POLLSET_KICK_BROADCAST ((grpc_pollset_worker *)1)
 
@@ -91,4 +91,4 @@
 void grpc_pollset_kick(grpc_pollset *pollset,
                        grpc_pollset_worker *specific_worker);
 
-#endif /* GRPC_CORE_IOMGR_POLLSET_H */
+#endif /* GRPC_CORE_LIB_IOMGR_POLLSET_H */
diff --git a/src/core/iomgr/pollset_multipoller_with_epoll.c b/src/core/lib/iomgr/pollset_multipoller_with_epoll.c
similarity index 98%
rename from src/core/iomgr/pollset_multipoller_with_epoll.c
rename to src/core/lib/iomgr/pollset_multipoller_with_epoll.c
index 2e0f27f..fa1b0d2 100644
--- a/src/core/iomgr/pollset_multipoller_with_epoll.c
+++ b/src/core/lib/iomgr/pollset_multipoller_with_epoll.c
@@ -44,10 +44,10 @@
 #include <grpc/support/alloc.h>
 #include <grpc/support/log.h>
 #include <grpc/support/useful.h>
-#include "src/core/iomgr/fd_posix.h"
-#include "src/core/iomgr/pollset_posix.h"
-#include "src/core/profiling/timers.h"
-#include "src/core/support/block_annotate.h"
+#include "src/core/lib/iomgr/fd_posix.h"
+#include "src/core/lib/iomgr/pollset_posix.h"
+#include "src/core/lib/profiling/timers.h"
+#include "src/core/lib/support/block_annotate.h"
 
 struct epoll_fd_list {
   int *epoll_fds;
diff --git a/src/core/iomgr/pollset_multipoller_with_poll_posix.c b/src/core/lib/iomgr/pollset_multipoller_with_poll_posix.c
similarity index 96%
rename from src/core/iomgr/pollset_multipoller_with_poll_posix.c
rename to src/core/lib/iomgr/pollset_multipoller_with_poll_posix.c
index 92d6fb7..9b33f6d 100644
--- a/src/core/iomgr/pollset_multipoller_with_poll_posix.c
+++ b/src/core/lib/iomgr/pollset_multipoller_with_poll_posix.c
@@ -35,7 +35,7 @@
 
 #ifdef GPR_POSIX_SOCKET
 
-#include "src/core/iomgr/pollset_posix.h"
+#include "src/core/lib/iomgr/pollset_posix.h"
 
 #include <errno.h>
 #include <poll.h>
@@ -46,10 +46,10 @@
 #include <grpc/support/log.h>
 #include <grpc/support/useful.h>
 
-#include "src/core/iomgr/fd_posix.h"
-#include "src/core/iomgr/iomgr_internal.h"
-#include "src/core/iomgr/pollset_posix.h"
-#include "src/core/support/block_annotate.h"
+#include "src/core/lib/iomgr/fd_posix.h"
+#include "src/core/lib/iomgr/iomgr_internal.h"
+#include "src/core/lib/iomgr/pollset_posix.h"
+#include "src/core/lib/support/block_annotate.h"
 
 typedef struct {
   /* all polled fds */
diff --git a/src/core/iomgr/pollset_posix.c b/src/core/lib/iomgr/pollset_posix.c
similarity index 98%
rename from src/core/iomgr/pollset_posix.c
rename to src/core/lib/iomgr/pollset_posix.c
index e895a77..259c7bc 100644
--- a/src/core/iomgr/pollset_posix.c
+++ b/src/core/lib/iomgr/pollset_posix.c
@@ -35,7 +35,7 @@
 
 #ifdef GPR_POSIX_SOCKET
 
-#include "src/core/iomgr/pollset_posix.h"
+#include "src/core/lib/iomgr/pollset_posix.h"
 
 #include <errno.h>
 #include <stdlib.h>
@@ -47,11 +47,11 @@
 #include <grpc/support/thd.h>
 #include <grpc/support/tls.h>
 #include <grpc/support/useful.h>
-#include "src/core/iomgr/fd_posix.h"
-#include "src/core/iomgr/iomgr_internal.h"
-#include "src/core/iomgr/socket_utils_posix.h"
-#include "src/core/profiling/timers.h"
-#include "src/core/support/block_annotate.h"
+#include "src/core/lib/iomgr/fd_posix.h"
+#include "src/core/lib/iomgr/iomgr_internal.h"
+#include "src/core/lib/iomgr/socket_utils_posix.h"
+#include "src/core/lib/profiling/timers.h"
+#include "src/core/lib/support/block_annotate.h"
 
 GPR_TLS_DECL(g_current_thread_poller);
 GPR_TLS_DECL(g_current_thread_worker);
diff --git a/src/core/iomgr/pollset_posix.h b/src/core/lib/iomgr/pollset_posix.h
similarity index 94%
rename from src/core/iomgr/pollset_posix.h
rename to src/core/lib/iomgr/pollset_posix.h
index e0cfc44..7d8e9fc 100644
--- a/src/core/iomgr/pollset_posix.h
+++ b/src/core/lib/iomgr/pollset_posix.h
@@ -31,17 +31,17 @@
  *
  */
 
-#ifndef GRPC_CORE_IOMGR_POLLSET_POSIX_H
-#define GRPC_CORE_IOMGR_POLLSET_POSIX_H
+#ifndef GRPC_CORE_LIB_IOMGR_POLLSET_POSIX_H
+#define GRPC_CORE_LIB_IOMGR_POLLSET_POSIX_H
 
 #include <poll.h>
 
 #include <grpc/support/sync.h>
 
-#include "src/core/iomgr/exec_ctx.h"
-#include "src/core/iomgr/iomgr.h"
-#include "src/core/iomgr/pollset.h"
-#include "src/core/iomgr/wakeup_fd_posix.h"
+#include "src/core/lib/iomgr/exec_ctx.h"
+#include "src/core/lib/iomgr/iomgr.h"
+#include "src/core/lib/iomgr/pollset.h"
+#include "src/core/lib/iomgr/wakeup_fd_posix.h"
 
 typedef struct grpc_pollset_vtable grpc_pollset_vtable;
 
@@ -150,4 +150,4 @@
 extern grpc_poll_function_type grpc_poll_function;
 extern grpc_wakeup_fd grpc_global_wakeup_fd;
 
-#endif /* GRPC_CORE_IOMGR_POLLSET_POSIX_H */
+#endif /* GRPC_CORE_LIB_IOMGR_POLLSET_POSIX_H */
diff --git a/src/core/iomgr/pollset_set.h b/src/core/lib/iomgr/pollset_set.h
similarity index 93%
rename from src/core/iomgr/pollset_set.h
rename to src/core/lib/iomgr/pollset_set.h
index 204c625..fb29d69 100644
--- a/src/core/iomgr/pollset_set.h
+++ b/src/core/lib/iomgr/pollset_set.h
@@ -31,10 +31,10 @@
  *
  */
 
-#ifndef GRPC_CORE_IOMGR_POLLSET_SET_H
-#define GRPC_CORE_IOMGR_POLLSET_SET_H
+#ifndef GRPC_CORE_LIB_IOMGR_POLLSET_SET_H
+#define GRPC_CORE_LIB_IOMGR_POLLSET_SET_H
 
-#include "src/core/iomgr/pollset.h"
+#include "src/core/lib/iomgr/pollset.h"
 
 /* A grpc_pollset_set is a set of pollsets that are interested in an
    action. Adding a pollset to a pollset_set automatically adds any
@@ -58,4 +58,4 @@
                                       grpc_pollset_set *bag,
                                       grpc_pollset_set *item);
 
-#endif /* GRPC_CORE_IOMGR_POLLSET_SET_H */
+#endif /* GRPC_CORE_LIB_IOMGR_POLLSET_SET_H */
diff --git a/src/core/iomgr/pollset_set_posix.c b/src/core/lib/iomgr/pollset_set_posix.c
similarity index 98%
rename from src/core/iomgr/pollset_set_posix.c
rename to src/core/lib/iomgr/pollset_set_posix.c
index 9dc9aff..d6142f9 100644
--- a/src/core/iomgr/pollset_set_posix.c
+++ b/src/core/lib/iomgr/pollset_set_posix.c
@@ -41,8 +41,8 @@
 #include <grpc/support/alloc.h>
 #include <grpc/support/useful.h>
 
-#include "src/core/iomgr/pollset_posix.h"
-#include "src/core/iomgr/pollset_set_posix.h"
+#include "src/core/lib/iomgr/pollset_posix.h"
+#include "src/core/lib/iomgr/pollset_set_posix.h"
 
 struct grpc_pollset_set {
   gpr_mu mu;
diff --git a/src/core/iomgr/pollset_set_posix.h b/src/core/lib/iomgr/pollset_set_posix.h
similarity index 88%
rename from src/core/iomgr/pollset_set_posix.h
rename to src/core/lib/iomgr/pollset_set_posix.h
index 80f4877..4e6b063 100644
--- a/src/core/iomgr/pollset_set_posix.h
+++ b/src/core/lib/iomgr/pollset_set_posix.h
@@ -31,15 +31,15 @@
  *
  */
 
-#ifndef GRPC_CORE_IOMGR_POLLSET_SET_POSIX_H
-#define GRPC_CORE_IOMGR_POLLSET_SET_POSIX_H
+#ifndef GRPC_CORE_LIB_IOMGR_POLLSET_SET_POSIX_H
+#define GRPC_CORE_LIB_IOMGR_POLLSET_SET_POSIX_H
 
-#include "src/core/iomgr/fd_posix.h"
-#include "src/core/iomgr/pollset_set.h"
+#include "src/core/lib/iomgr/fd_posix.h"
+#include "src/core/lib/iomgr/pollset_set.h"
 
 void grpc_pollset_set_add_fd(grpc_exec_ctx *exec_ctx,
                              grpc_pollset_set *pollset_set, grpc_fd *fd);
 void grpc_pollset_set_del_fd(grpc_exec_ctx *exec_ctx,
                              grpc_pollset_set *pollset_set, grpc_fd *fd);
 
-#endif /* GRPC_CORE_IOMGR_POLLSET_SET_POSIX_H */
+#endif /* GRPC_CORE_LIB_IOMGR_POLLSET_SET_POSIX_H */
diff --git a/src/core/iomgr/pollset_set_windows.c b/src/core/lib/iomgr/pollset_set_windows.c
similarity index 97%
rename from src/core/iomgr/pollset_set_windows.c
rename to src/core/lib/iomgr/pollset_set_windows.c
index 3b8eca2..0b14e44 100644
--- a/src/core/iomgr/pollset_set_windows.c
+++ b/src/core/lib/iomgr/pollset_set_windows.c
@@ -35,7 +35,7 @@
 
 #ifdef GPR_WINSOCK_SOCKET
 
-#include "src/core/iomgr/pollset_set_windows.h"
+#include "src/core/lib/iomgr/pollset_set_windows.h"
 
 grpc_pollset_set* grpc_pollset_set_create(pollset_set) { return NULL; }
 
diff --git a/src/core/iomgr/workqueue_windows.h b/src/core/lib/iomgr/pollset_set_windows.h
similarity index 88%
copy from src/core/iomgr/workqueue_windows.h
copy to src/core/lib/iomgr/pollset_set_windows.h
index 7e81869..7c2cea2 100644
--- a/src/core/iomgr/workqueue_windows.h
+++ b/src/core/lib/iomgr/pollset_set_windows.h
@@ -31,7 +31,9 @@
  *
  */
 
-#ifndef GRPC_CORE_IOMGR_WORKQUEUE_WINDOWS_H
-#define GRPC_CORE_IOMGR_WORKQUEUE_WINDOWS_H
+#ifndef GRPC_CORE_LIB_IOMGR_POLLSET_SET_WINDOWS_H
+#define GRPC_CORE_LIB_IOMGR_POLLSET_SET_WINDOWS_H
 
-#endif /* GRPC_CORE_IOMGR_WORKQUEUE_WINDOWS_H */
+#include "src/core/lib/iomgr/pollset_set.h"
+
+#endif /* GRPC_CORE_LIB_IOMGR_POLLSET_SET_WINDOWS_H */
diff --git a/src/core/iomgr/pollset_windows.c b/src/core/lib/iomgr/pollset_windows.c
similarity index 97%
rename from src/core/iomgr/pollset_windows.c
rename to src/core/lib/iomgr/pollset_windows.c
index 1a99224..6b33912 100644
--- a/src/core/iomgr/pollset_windows.c
+++ b/src/core/lib/iomgr/pollset_windows.c
@@ -38,10 +38,10 @@
 #include <grpc/support/log.h>
 #include <grpc/support/thd.h>
 
-#include "src/core/iomgr/iocp_windows.h"
-#include "src/core/iomgr/iomgr_internal.h"
-#include "src/core/iomgr/pollset.h"
-#include "src/core/iomgr/pollset_windows.h"
+#include "src/core/lib/iomgr/iocp_windows.h"
+#include "src/core/lib/iomgr/iomgr_internal.h"
+#include "src/core/lib/iomgr/pollset.h"
+#include "src/core/lib/iomgr/pollset_windows.h"
 
 gpr_mu grpc_polling_mu;
 static grpc_pollset_worker *g_active_poller;
diff --git a/src/core/iomgr/pollset_windows.h b/src/core/lib/iomgr/pollset_windows.h
similarity index 92%
rename from src/core/iomgr/pollset_windows.h
rename to src/core/lib/iomgr/pollset_windows.h
index f1d1585..fa9553f 100644
--- a/src/core/iomgr/pollset_windows.h
+++ b/src/core/lib/iomgr/pollset_windows.h
@@ -31,12 +31,12 @@
  *
  */
 
-#ifndef GRPC_CORE_IOMGR_POLLSET_WINDOWS_H
-#define GRPC_CORE_IOMGR_POLLSET_WINDOWS_H
+#ifndef GRPC_CORE_LIB_IOMGR_POLLSET_WINDOWS_H
+#define GRPC_CORE_LIB_IOMGR_POLLSET_WINDOWS_H
 
 #include <grpc/support/sync.h>
 
-#include "src/core/iomgr/socket_windows.h"
+#include "src/core/lib/iomgr/socket_windows.h"
 
 /* There isn't really any such thing as a pollset under Windows, due to the
    nature of the IO completion ports. A Windows "pollset" is merely a mutex
@@ -72,4 +72,4 @@
   grpc_closure *on_shutdown;
 };
 
-#endif /* GRPC_CORE_IOMGR_POLLSET_WINDOWS_H */
+#endif /* GRPC_CORE_LIB_IOMGR_POLLSET_WINDOWS_H */
diff --git a/src/core/iomgr/resolve_address.h b/src/core/lib/iomgr/resolve_address.h
similarity index 92%
rename from src/core/iomgr/resolve_address.h
rename to src/core/lib/iomgr/resolve_address.h
index aa0d7d1..f748288 100644
--- a/src/core/iomgr/resolve_address.h
+++ b/src/core/lib/iomgr/resolve_address.h
@@ -31,12 +31,12 @@
  *
  */
 
-#ifndef GRPC_CORE_IOMGR_RESOLVE_ADDRESS_H
-#define GRPC_CORE_IOMGR_RESOLVE_ADDRESS_H
+#ifndef GRPC_CORE_LIB_IOMGR_RESOLVE_ADDRESS_H
+#define GRPC_CORE_LIB_IOMGR_RESOLVE_ADDRESS_H
 
 #include <stddef.h>
-#include "src/core/iomgr/exec_ctx.h"
-#include "src/core/iomgr/iomgr.h"
+#include "src/core/lib/iomgr/exec_ctx.h"
+#include "src/core/lib/iomgr/iomgr.h"
 
 #define GRPC_MAX_SOCKADDR_SIZE 128
 
@@ -69,4 +69,4 @@
 extern grpc_resolved_addresses *(*grpc_blocking_resolve_address)(
     const char *name, const char *default_port);
 
-#endif /* GRPC_CORE_IOMGR_RESOLVE_ADDRESS_H */
+#endif /* GRPC_CORE_LIB_IOMGR_RESOLVE_ADDRESS_H */
diff --git a/src/core/iomgr/resolve_address_posix.c b/src/core/lib/iomgr/resolve_address_posix.c
similarity index 93%
rename from src/core/iomgr/resolve_address_posix.c
rename to src/core/lib/iomgr/resolve_address_posix.c
index 26b3aa8..ebecb39 100644
--- a/src/core/iomgr/resolve_address_posix.c
+++ b/src/core/lib/iomgr/resolve_address_posix.c
@@ -34,8 +34,8 @@
 #include <grpc/support/port_platform.h>
 #ifdef GPR_POSIX_SOCKET
 
-#include "src/core/iomgr/resolve_address.h"
-#include "src/core/iomgr/sockaddr.h"
+#include "src/core/lib/iomgr/resolve_address.h"
+#include "src/core/lib/iomgr/sockaddr.h"
 
 #include <string.h>
 #include <sys/types.h>
@@ -47,12 +47,12 @@
 #include <grpc/support/thd.h>
 #include <grpc/support/time.h>
 #include <grpc/support/useful.h>
-#include "src/core/iomgr/executor.h"
-#include "src/core/iomgr/iomgr_internal.h"
-#include "src/core/iomgr/sockaddr_utils.h"
-#include "src/core/iomgr/unix_sockets_posix.h"
-#include "src/core/support/block_annotate.h"
-#include "src/core/support/string.h"
+#include "src/core/lib/iomgr/executor.h"
+#include "src/core/lib/iomgr/iomgr_internal.h"
+#include "src/core/lib/iomgr/sockaddr_utils.h"
+#include "src/core/lib/iomgr/unix_sockets_posix.h"
+#include "src/core/lib/support/block_annotate.h"
+#include "src/core/lib/support/string.h"
 
 typedef struct {
   char *name;
diff --git a/src/core/iomgr/resolve_address_windows.c b/src/core/lib/iomgr/resolve_address_windows.c
similarity index 93%
rename from src/core/iomgr/resolve_address_windows.c
rename to src/core/lib/iomgr/resolve_address_windows.c
index 472e797..bde1f1b 100644
--- a/src/core/iomgr/resolve_address_windows.c
+++ b/src/core/lib/iomgr/resolve_address_windows.c
@@ -34,8 +34,8 @@
 #include <grpc/support/port_platform.h>
 #ifdef GPR_WINSOCK_SOCKET
 
-#include "src/core/iomgr/resolve_address.h"
-#include "src/core/iomgr/sockaddr.h"
+#include "src/core/lib/iomgr/resolve_address.h"
+#include "src/core/lib/iomgr/sockaddr.h"
 
 #include <string.h>
 #include <sys/types.h>
@@ -47,11 +47,11 @@
 #include <grpc/support/string_util.h>
 #include <grpc/support/thd.h>
 #include <grpc/support/time.h>
-#include "src/core/iomgr/executor.h"
-#include "src/core/iomgr/iomgr_internal.h"
-#include "src/core/iomgr/sockaddr_utils.h"
-#include "src/core/support/block_annotate.h"
-#include "src/core/support/string.h"
+#include "src/core/lib/iomgr/executor.h"
+#include "src/core/lib/iomgr/iomgr_internal.h"
+#include "src/core/lib/iomgr/sockaddr_utils.h"
+#include "src/core/lib/support/block_annotate.h"
+#include "src/core/lib/support/string.h"
 
 typedef struct {
   char *name;
diff --git a/src/core/iomgr/sockaddr.h b/src/core/lib/iomgr/sockaddr.h
similarity index 88%
rename from src/core/iomgr/sockaddr.h
rename to src/core/lib/iomgr/sockaddr.h
index 68241bd..66a930e 100644
--- a/src/core/iomgr/sockaddr.h
+++ b/src/core/lib/iomgr/sockaddr.h
@@ -31,17 +31,17 @@
  *
  */
 
-#ifndef GRPC_CORE_IOMGR_SOCKADDR_H
-#define GRPC_CORE_IOMGR_SOCKADDR_H
+#ifndef GRPC_CORE_LIB_IOMGR_SOCKADDR_H
+#define GRPC_CORE_LIB_IOMGR_SOCKADDR_H
 
 #include <grpc/support/port_platform.h>
 
 #ifdef GPR_WIN32
-#include "src/core/iomgr/sockaddr_win32.h"
+#include "src/core/lib/iomgr/sockaddr_win32.h"
 #endif
 
 #ifdef GPR_POSIX_SOCKETADDR
-#include "src/core/iomgr/sockaddr_posix.h"
+#include "src/core/lib/iomgr/sockaddr_posix.h"
 #endif
 
-#endif /* GRPC_CORE_IOMGR_SOCKADDR_H */
+#endif /* GRPC_CORE_LIB_IOMGR_SOCKADDR_H */
diff --git a/src/core/iomgr/sockaddr_posix.h b/src/core/lib/iomgr/sockaddr_posix.h
similarity index 92%
rename from src/core/iomgr/sockaddr_posix.h
rename to src/core/lib/iomgr/sockaddr_posix.h
index a398096..79a7467 100644
--- a/src/core/iomgr/sockaddr_posix.h
+++ b/src/core/lib/iomgr/sockaddr_posix.h
@@ -31,8 +31,8 @@
  *
  */
 
-#ifndef GRPC_CORE_IOMGR_SOCKADDR_POSIX_H
-#define GRPC_CORE_IOMGR_SOCKADDR_POSIX_H
+#ifndef GRPC_CORE_LIB_IOMGR_SOCKADDR_POSIX_H
+#define GRPC_CORE_LIB_IOMGR_SOCKADDR_POSIX_H
 
 #include <arpa/inet.h>
 #include <netdb.h>
@@ -41,4 +41,4 @@
 #include <sys/types.h>
 #include <unistd.h>
 
-#endif /* GRPC_CORE_IOMGR_SOCKADDR_POSIX_H */
+#endif /* GRPC_CORE_LIB_IOMGR_SOCKADDR_POSIX_H */
diff --git a/src/core/iomgr/sockaddr_utils.c b/src/core/lib/iomgr/sockaddr_utils.c
similarity index 97%
rename from src/core/iomgr/sockaddr_utils.c
rename to src/core/lib/iomgr/sockaddr_utils.c
index a3c3a87..127d95c 100644
--- a/src/core/iomgr/sockaddr_utils.c
+++ b/src/core/lib/iomgr/sockaddr_utils.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/iomgr/sockaddr_utils.h"
+#include "src/core/lib/iomgr/sockaddr_utils.h"
 
 #include <errno.h>
 #include <string.h>
@@ -42,8 +42,8 @@
 #include <grpc/support/port_platform.h>
 #include <grpc/support/string_util.h>
 
-#include "src/core/iomgr/unix_sockets_posix.h"
-#include "src/core/support/string.h"
+#include "src/core/lib/iomgr/unix_sockets_posix.h"
+#include "src/core/lib/support/string.h"
 
 static const uint8_t kV4MappedPrefix[] = {0, 0, 0, 0, 0,    0,
                                           0, 0, 0, 0, 0xff, 0xff};
diff --git a/src/core/iomgr/sockaddr_utils.h b/src/core/lib/iomgr/sockaddr_utils.h
similarity index 95%
rename from src/core/iomgr/sockaddr_utils.h
rename to src/core/lib/iomgr/sockaddr_utils.h
index 43dc7a4..20a3e3b 100644
--- a/src/core/iomgr/sockaddr_utils.h
+++ b/src/core/lib/iomgr/sockaddr_utils.h
@@ -31,10 +31,10 @@
  *
  */
 
-#ifndef GRPC_CORE_IOMGR_SOCKADDR_UTILS_H
-#define GRPC_CORE_IOMGR_SOCKADDR_UTILS_H
+#ifndef GRPC_CORE_LIB_IOMGR_SOCKADDR_UTILS_H
+#define GRPC_CORE_LIB_IOMGR_SOCKADDR_UTILS_H
 
-#include "src/core/iomgr/sockaddr.h"
+#include "src/core/lib/iomgr/sockaddr.h"
 
 /* Returns true if addr is an IPv4-mapped IPv6 address within the
    ::ffff:0.0.0.0/96 range, or false otherwise.
@@ -86,4 +86,4 @@
 
 char *grpc_sockaddr_to_uri(const struct sockaddr *addr);
 
-#endif /* GRPC_CORE_IOMGR_SOCKADDR_UTILS_H */
+#endif /* GRPC_CORE_LIB_IOMGR_SOCKADDR_UTILS_H */
diff --git a/src/core/iomgr/sockaddr_win32.h b/src/core/lib/iomgr/sockaddr_win32.h
similarity index 92%
rename from src/core/iomgr/sockaddr_win32.h
rename to src/core/lib/iomgr/sockaddr_win32.h
index ef306e3..2dd7111 100644
--- a/src/core/iomgr/sockaddr_win32.h
+++ b/src/core/lib/iomgr/sockaddr_win32.h
@@ -31,8 +31,8 @@
  *
  */
 
-#ifndef GRPC_CORE_IOMGR_SOCKADDR_WIN32_H
-#define GRPC_CORE_IOMGR_SOCKADDR_WIN32_H
+#ifndef GRPC_CORE_LIB_IOMGR_SOCKADDR_WIN32_H
+#define GRPC_CORE_LIB_IOMGR_SOCKADDR_WIN32_H
 
 #include <winsock2.h>
 #include <ws2tcpip.h>
@@ -40,4 +40,4 @@
 // must be included after the above
 #include <mswsock.h>
 
-#endif /* GRPC_CORE_IOMGR_SOCKADDR_WIN32_H */
+#endif /* GRPC_CORE_LIB_IOMGR_SOCKADDR_WIN32_H */
diff --git a/src/core/iomgr/socket_utils_common_posix.c b/src/core/lib/iomgr/socket_utils_common_posix.c
similarity index 97%
rename from src/core/iomgr/socket_utils_common_posix.c
rename to src/core/lib/iomgr/socket_utils_common_posix.c
index 570dacc..9dbc278 100644
--- a/src/core/iomgr/socket_utils_common_posix.c
+++ b/src/core/lib/iomgr/socket_utils_common_posix.c
@@ -35,7 +35,7 @@
 
 #ifdef GPR_POSIX_SOCKET
 
-#include "src/core/iomgr/socket_utils_posix.h"
+#include "src/core/lib/iomgr/socket_utils_posix.h"
 
 #include <arpa/inet.h>
 #include <errno.h>
@@ -53,8 +53,8 @@
 #include <grpc/support/log.h>
 #include <grpc/support/port_platform.h>
 #include <grpc/support/sync.h>
-#include "src/core/iomgr/sockaddr_utils.h"
-#include "src/core/support/string.h"
+#include "src/core/lib/iomgr/sockaddr_utils.h"
+#include "src/core/lib/support/string.h"
 
 /* set a socket to non blocking mode */
 int grpc_set_socket_nonblocking(int fd, int non_blocking) {
diff --git a/src/core/iomgr/socket_utils_linux.c b/src/core/lib/iomgr/socket_utils_linux.c
similarity index 97%
rename from src/core/iomgr/socket_utils_linux.c
rename to src/core/lib/iomgr/socket_utils_linux.c
index e16885f..e7dfe89 100644
--- a/src/core/iomgr/socket_utils_linux.c
+++ b/src/core/lib/iomgr/socket_utils_linux.c
@@ -35,7 +35,7 @@
 
 #ifdef GPR_LINUX_SOCKETUTILS
 
-#include "src/core/iomgr/socket_utils_posix.h"
+#include "src/core/lib/iomgr/socket_utils_posix.h"
 
 #include <sys/socket.h>
 #include <sys/types.h>
diff --git a/src/core/iomgr/socket_utils_posix.c b/src/core/lib/iomgr/socket_utils_posix.c
similarity index 96%
rename from src/core/iomgr/socket_utils_posix.c
rename to src/core/lib/iomgr/socket_utils_posix.c
index 3c56b46..b2fa00c 100644
--- a/src/core/iomgr/socket_utils_posix.c
+++ b/src/core/lib/iomgr/socket_utils_posix.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -35,7 +35,7 @@
 
 #ifdef GPR_POSIX_SOCKETUTILS
 
-#include "src/core/iomgr/socket_utils_posix.h"
+#include "src/core/lib/iomgr/socket_utils_posix.h"
 
 #include <fcntl.h>
 #include <sys/socket.h>
diff --git a/src/core/iomgr/socket_utils_posix.h b/src/core/lib/iomgr/socket_utils_posix.h
similarity index 96%
rename from src/core/iomgr/socket_utils_posix.h
rename to src/core/lib/iomgr/socket_utils_posix.h
index 3908550..063f298 100644
--- a/src/core/iomgr/socket_utils_posix.h
+++ b/src/core/lib/iomgr/socket_utils_posix.h
@@ -31,8 +31,8 @@
  *
  */
 
-#ifndef GRPC_CORE_IOMGR_SOCKET_UTILS_POSIX_H
-#define GRPC_CORE_IOMGR_SOCKET_UTILS_POSIX_H
+#ifndef GRPC_CORE_LIB_IOMGR_SOCKET_UTILS_POSIX_H
+#define GRPC_CORE_LIB_IOMGR_SOCKET_UTILS_POSIX_H
 
 #include <sys/socket.h>
 #include <unistd.h>
@@ -110,4 +110,4 @@
 int grpc_create_dualstack_socket(const struct sockaddr *addr, int type,
                                  int protocol, grpc_dualstack_mode *dsmode);
 
-#endif /* GRPC_CORE_IOMGR_SOCKET_UTILS_POSIX_H */
+#endif /* GRPC_CORE_LIB_IOMGR_SOCKET_UTILS_POSIX_H */
diff --git a/src/core/iomgr/socket_windows.c b/src/core/lib/iomgr/socket_windows.c
similarity index 93%
rename from src/core/iomgr/socket_windows.c
rename to src/core/lib/iomgr/socket_windows.c
index c1f419e..1023a6d 100644
--- a/src/core/iomgr/socket_windows.c
+++ b/src/core/lib/iomgr/socket_windows.c
@@ -45,11 +45,11 @@
 #include <grpc/support/log_win32.h>
 #include <grpc/support/string_util.h>
 
-#include "src/core/iomgr/iocp_windows.h"
-#include "src/core/iomgr/iomgr_internal.h"
-#include "src/core/iomgr/pollset.h"
-#include "src/core/iomgr/pollset_windows.h"
-#include "src/core/iomgr/socket_windows.h"
+#include "src/core/lib/iomgr/iocp_windows.h"
+#include "src/core/lib/iomgr/iomgr_internal.h"
+#include "src/core/lib/iomgr/pollset.h"
+#include "src/core/lib/iomgr/pollset_windows.h"
+#include "src/core/lib/iomgr/socket_windows.h"
 
 grpc_winsocket *grpc_winsocket_create(SOCKET socket, const char *name) {
   char *final_name;
diff --git a/src/core/iomgr/socket_windows.h b/src/core/lib/iomgr/socket_windows.h
similarity index 95%
rename from src/core/iomgr/socket_windows.h
rename to src/core/lib/iomgr/socket_windows.h
index 6fe3c6e..7444789 100644
--- a/src/core/iomgr/socket_windows.h
+++ b/src/core/lib/iomgr/socket_windows.h
@@ -31,8 +31,8 @@
  *
  */
 
-#ifndef GRPC_CORE_IOMGR_SOCKET_WINDOWS_H
-#define GRPC_CORE_IOMGR_SOCKET_WINDOWS_H
+#ifndef GRPC_CORE_LIB_IOMGR_SOCKET_WINDOWS_H
+#define GRPC_CORE_LIB_IOMGR_SOCKET_WINDOWS_H
 
 #include <grpc/support/port_platform.h>
 #include <winsock2.h>
@@ -40,8 +40,8 @@
 #include <grpc/support/atm.h>
 #include <grpc/support/sync.h>
 
-#include "src/core/iomgr/exec_ctx.h"
-#include "src/core/iomgr/iomgr_internal.h"
+#include "src/core/lib/iomgr/exec_ctx.h"
+#include "src/core/lib/iomgr/iomgr_internal.h"
 
 /* This holds the data for an outstanding read or write on a socket.
    The mutex to protect the concurrent access to that data is the one
@@ -108,4 +108,4 @@
 /* Destroy a socket. Should only be called if there's no pending operation. */
 void grpc_winsocket_destroy(grpc_winsocket *socket);
 
-#endif /* GRPC_CORE_IOMGR_SOCKET_WINDOWS_H */
+#endif /* GRPC_CORE_LIB_IOMGR_SOCKET_WINDOWS_H */
diff --git a/src/core/iomgr/tcp_client.h b/src/core/lib/iomgr/tcp_client.h
similarity index 89%
rename from src/core/iomgr/tcp_client.h
rename to src/core/lib/iomgr/tcp_client.h
index c36f8de..6bbe264 100644
--- a/src/core/iomgr/tcp_client.h
+++ b/src/core/lib/iomgr/tcp_client.h
@@ -31,13 +31,13 @@
  *
  */
 
-#ifndef GRPC_CORE_IOMGR_TCP_CLIENT_H
-#define GRPC_CORE_IOMGR_TCP_CLIENT_H
+#ifndef GRPC_CORE_LIB_IOMGR_TCP_CLIENT_H
+#define GRPC_CORE_LIB_IOMGR_TCP_CLIENT_H
 
 #include <grpc/support/time.h>
-#include "src/core/iomgr/endpoint.h"
-#include "src/core/iomgr/pollset_set.h"
-#include "src/core/iomgr/sockaddr.h"
+#include "src/core/lib/iomgr/endpoint.h"
+#include "src/core/lib/iomgr/pollset_set.h"
+#include "src/core/lib/iomgr/sockaddr.h"
 
 /* Asynchronously connect to an address (specified as (addr, len)), and call
    cb with arg and the completed connection when done (or call cb with arg and
@@ -50,4 +50,4 @@
                              const struct sockaddr *addr, size_t addr_len,
                              gpr_timespec deadline);
 
-#endif /* GRPC_CORE_IOMGR_TCP_CLIENT_H */
+#endif /* GRPC_CORE_LIB_IOMGR_TCP_CLIENT_H */
diff --git a/src/core/iomgr/tcp_client_posix.c b/src/core/lib/iomgr/tcp_client_posix.c
similarity index 94%
rename from src/core/iomgr/tcp_client_posix.c
rename to src/core/lib/iomgr/tcp_client_posix.c
index 1d3f9b6..b8ef643 100644
--- a/src/core/iomgr/tcp_client_posix.c
+++ b/src/core/lib/iomgr/tcp_client_posix.c
@@ -35,7 +35,7 @@
 
 #ifdef GPR_POSIX_SOCKET
 
-#include "src/core/iomgr/tcp_client.h"
+#include "src/core/lib/iomgr/tcp_client.h"
 
 #include <errno.h>
 #include <netinet/in.h>
@@ -47,15 +47,15 @@
 #include <grpc/support/string_util.h>
 #include <grpc/support/time.h>
 
-#include "src/core/iomgr/iomgr_posix.h"
-#include "src/core/iomgr/pollset_posix.h"
-#include "src/core/iomgr/pollset_set_posix.h"
-#include "src/core/iomgr/sockaddr_utils.h"
-#include "src/core/iomgr/socket_utils_posix.h"
-#include "src/core/iomgr/tcp_posix.h"
-#include "src/core/iomgr/timer.h"
-#include "src/core/iomgr/unix_sockets_posix.h"
-#include "src/core/support/string.h"
+#include "src/core/lib/iomgr/iomgr_posix.h"
+#include "src/core/lib/iomgr/pollset_posix.h"
+#include "src/core/lib/iomgr/pollset_set_posix.h"
+#include "src/core/lib/iomgr/sockaddr_utils.h"
+#include "src/core/lib/iomgr/socket_utils_posix.h"
+#include "src/core/lib/iomgr/tcp_posix.h"
+#include "src/core/lib/iomgr/timer.h"
+#include "src/core/lib/iomgr/unix_sockets_posix.h"
+#include "src/core/lib/support/string.h"
 
 extern int grpc_tcp_trace;
 
diff --git a/src/core/iomgr/tcp_client_windows.c b/src/core/lib/iomgr/tcp_client_windows.c
similarity index 94%
rename from src/core/iomgr/tcp_client_windows.c
rename to src/core/lib/iomgr/tcp_client_windows.c
index da83f7b..86b8d58 100644
--- a/src/core/iomgr/tcp_client_windows.c
+++ b/src/core/lib/iomgr/tcp_client_windows.c
@@ -35,7 +35,7 @@
 
 #ifdef GPR_WINSOCK_SOCKET
 
-#include "src/core/iomgr/sockaddr_win32.h"
+#include "src/core/lib/iomgr/sockaddr_win32.h"
 
 #include <grpc/support/alloc.h>
 #include <grpc/support/log.h>
@@ -43,13 +43,13 @@
 #include <grpc/support/slice_buffer.h>
 #include <grpc/support/useful.h>
 
-#include "src/core/iomgr/iocp_windows.h"
-#include "src/core/iomgr/sockaddr.h"
-#include "src/core/iomgr/sockaddr_utils.h"
-#include "src/core/iomgr/socket_windows.h"
-#include "src/core/iomgr/tcp_client.h"
-#include "src/core/iomgr/tcp_windows.h"
-#include "src/core/iomgr/timer.h"
+#include "src/core/lib/iomgr/iocp_windows.h"
+#include "src/core/lib/iomgr/sockaddr.h"
+#include "src/core/lib/iomgr/sockaddr_utils.h"
+#include "src/core/lib/iomgr/socket_windows.h"
+#include "src/core/lib/iomgr/tcp_client.h"
+#include "src/core/lib/iomgr/tcp_windows.h"
+#include "src/core/lib/iomgr/timer.h"
 
 typedef struct {
   grpc_closure *on_done;
diff --git a/src/core/iomgr/tcp_posix.c b/src/core/lib/iomgr/tcp_posix.c
similarity index 98%
rename from src/core/iomgr/tcp_posix.c
rename to src/core/lib/iomgr/tcp_posix.c
index e8f7381..1898d96 100644
--- a/src/core/iomgr/tcp_posix.c
+++ b/src/core/lib/iomgr/tcp_posix.c
@@ -35,7 +35,7 @@
 
 #ifdef GPR_POSIX_SOCKET
 
-#include "src/core/iomgr/tcp_posix.h"
+#include "src/core/lib/iomgr/tcp_posix.h"
 
 #include <errno.h>
 #include <stdlib.h>
@@ -51,11 +51,11 @@
 #include <grpc/support/sync.h>
 #include <grpc/support/time.h>
 
-#include "src/core/debug/trace.h"
-#include "src/core/iomgr/pollset_posix.h"
-#include "src/core/iomgr/pollset_set_posix.h"
-#include "src/core/profiling/timers.h"
-#include "src/core/support/string.h"
+#include "src/core/lib/debug/trace.h"
+#include "src/core/lib/iomgr/pollset_posix.h"
+#include "src/core/lib/iomgr/pollset_set_posix.h"
+#include "src/core/lib/profiling/timers.h"
+#include "src/core/lib/support/string.h"
 
 #ifdef GPR_HAVE_MSG_NOSIGNAL
 #define SENDMSG_FLAGS MSG_NOSIGNAL
diff --git a/src/core/iomgr/tcp_posix.h b/src/core/lib/iomgr/tcp_posix.h
similarity index 92%
rename from src/core/iomgr/tcp_posix.h
rename to src/core/lib/iomgr/tcp_posix.h
index d846ec5..09c4436 100644
--- a/src/core/iomgr/tcp_posix.h
+++ b/src/core/lib/iomgr/tcp_posix.h
@@ -31,8 +31,8 @@
  *
  */
 
-#ifndef GRPC_CORE_IOMGR_TCP_POSIX_H
-#define GRPC_CORE_IOMGR_TCP_POSIX_H
+#ifndef GRPC_CORE_LIB_IOMGR_TCP_POSIX_H
+#define GRPC_CORE_LIB_IOMGR_TCP_POSIX_H
 /*
    Low level TCP "bottom half" implementation, for use by transports built on
    top of a TCP connection.
@@ -44,8 +44,8 @@
    otherwise specified.
 */
 
-#include "src/core/iomgr/endpoint.h"
-#include "src/core/iomgr/fd_posix.h"
+#include "src/core/lib/iomgr/endpoint.h"
+#include "src/core/lib/iomgr/fd_posix.h"
 
 #define GRPC_TCP_DEFAULT_READ_SLICE_SIZE 8192
 
@@ -68,4 +68,4 @@
 void grpc_tcp_destroy_and_release_fd(grpc_exec_ctx *exec_ctx, grpc_endpoint *ep,
                                      int *fd, grpc_closure *done);
 
-#endif /* GRPC_CORE_IOMGR_TCP_POSIX_H */
+#endif /* GRPC_CORE_LIB_IOMGR_TCP_POSIX_H */
diff --git a/src/core/iomgr/tcp_server.h b/src/core/lib/iomgr/tcp_server.h
similarity index 95%
rename from src/core/iomgr/tcp_server.h
rename to src/core/lib/iomgr/tcp_server.h
index 93247e9..81edb61 100644
--- a/src/core/iomgr/tcp_server.h
+++ b/src/core/lib/iomgr/tcp_server.h
@@ -31,11 +31,11 @@
  *
  */
 
-#ifndef GRPC_CORE_IOMGR_TCP_SERVER_H
-#define GRPC_CORE_IOMGR_TCP_SERVER_H
+#ifndef GRPC_CORE_LIB_IOMGR_TCP_SERVER_H
+#define GRPC_CORE_LIB_IOMGR_TCP_SERVER_H
 
-#include "src/core/iomgr/closure.h"
-#include "src/core/iomgr/endpoint.h"
+#include "src/core/lib/iomgr/closure.h"
+#include "src/core/lib/iomgr/endpoint.h"
 
 /* Forward decl of grpc_tcp_server */
 typedef struct grpc_tcp_server grpc_tcp_server;
@@ -100,4 +100,4 @@
    a call (exec_ctx!=NULL) to shutdown_complete. */
 void grpc_tcp_server_unref(grpc_exec_ctx *exec_ctx, grpc_tcp_server *s);
 
-#endif /* GRPC_CORE_IOMGR_TCP_SERVER_H */
+#endif /* GRPC_CORE_LIB_IOMGR_TCP_SERVER_H */
diff --git a/src/core/iomgr/tcp_server_posix.c b/src/core/lib/iomgr/tcp_server_posix.c
similarity index 97%
rename from src/core/iomgr/tcp_server_posix.c
rename to src/core/lib/iomgr/tcp_server_posix.c
index 74ee68a..ef1bf9a 100644
--- a/src/core/iomgr/tcp_server_posix.c
+++ b/src/core/lib/iomgr/tcp_server_posix.c
@@ -40,7 +40,7 @@
 
 #ifdef GPR_POSIX_SOCKET
 
-#include "src/core/iomgr/tcp_server.h"
+#include "src/core/lib/iomgr/tcp_server.h"
 
 #include <errno.h>
 #include <fcntl.h>
@@ -59,13 +59,13 @@
 #include <grpc/support/string_util.h>
 #include <grpc/support/sync.h>
 #include <grpc/support/time.h>
-#include "src/core/iomgr/pollset_posix.h"
-#include "src/core/iomgr/resolve_address.h"
-#include "src/core/iomgr/sockaddr_utils.h"
-#include "src/core/iomgr/socket_utils_posix.h"
-#include "src/core/iomgr/tcp_posix.h"
-#include "src/core/iomgr/unix_sockets_posix.h"
-#include "src/core/support/string.h"
+#include "src/core/lib/iomgr/pollset_posix.h"
+#include "src/core/lib/iomgr/resolve_address.h"
+#include "src/core/lib/iomgr/sockaddr_utils.h"
+#include "src/core/lib/iomgr/socket_utils_posix.h"
+#include "src/core/lib/iomgr/tcp_posix.h"
+#include "src/core/lib/iomgr/unix_sockets_posix.h"
+#include "src/core/lib/support/string.h"
 
 #define MIN_SAFE_ACCEPT_QUEUE_SIZE 100
 
diff --git a/src/core/iomgr/tcp_server_windows.c b/src/core/lib/iomgr/tcp_server_windows.c
similarity index 98%
rename from src/core/iomgr/tcp_server_windows.c
rename to src/core/lib/iomgr/tcp_server_windows.c
index a4abc5b..3d6a29b 100644
--- a/src/core/iomgr/tcp_server_windows.c
+++ b/src/core/lib/iomgr/tcp_server_windows.c
@@ -37,7 +37,7 @@
 
 #include <io.h>
 
-#include "src/core/iomgr/sockaddr_utils.h"
+#include "src/core/lib/iomgr/sockaddr_utils.h"
 
 #include <grpc/support/alloc.h>
 #include <grpc/support/log.h>
@@ -46,11 +46,11 @@
 #include <grpc/support/sync.h>
 #include <grpc/support/time.h>
 
-#include "src/core/iomgr/iocp_windows.h"
-#include "src/core/iomgr/pollset_windows.h"
-#include "src/core/iomgr/socket_windows.h"
-#include "src/core/iomgr/tcp_server.h"
-#include "src/core/iomgr/tcp_windows.h"
+#include "src/core/lib/iomgr/iocp_windows.h"
+#include "src/core/lib/iomgr/pollset_windows.h"
+#include "src/core/lib/iomgr/socket_windows.h"
+#include "src/core/lib/iomgr/tcp_server.h"
+#include "src/core/lib/iomgr/tcp_windows.h"
 
 #define MIN_SAFE_ACCEPT_QUEUE_SIZE 100
 
diff --git a/src/core/iomgr/tcp_windows.c b/src/core/lib/iomgr/tcp_windows.c
similarity index 97%
rename from src/core/iomgr/tcp_windows.c
rename to src/core/lib/iomgr/tcp_windows.c
index 9b1db5f..c1ce725 100644
--- a/src/core/iomgr/tcp_windows.c
+++ b/src/core/lib/iomgr/tcp_windows.c
@@ -35,7 +35,7 @@
 
 #ifdef GPR_WINSOCK_SOCKET
 
-#include "src/core/iomgr/sockaddr_win32.h"
+#include "src/core/lib/iomgr/sockaddr_win32.h"
 
 #include <grpc/support/alloc.h>
 #include <grpc/support/log.h>
@@ -44,12 +44,12 @@
 #include <grpc/support/string_util.h>
 #include <grpc/support/useful.h>
 
-#include "src/core/iomgr/iocp_windows.h"
-#include "src/core/iomgr/sockaddr.h"
-#include "src/core/iomgr/sockaddr_utils.h"
-#include "src/core/iomgr/socket_windows.h"
-#include "src/core/iomgr/tcp_client.h"
-#include "src/core/iomgr/timer.h"
+#include "src/core/lib/iomgr/iocp_windows.h"
+#include "src/core/lib/iomgr/sockaddr.h"
+#include "src/core/lib/iomgr/sockaddr_utils.h"
+#include "src/core/lib/iomgr/socket_windows.h"
+#include "src/core/lib/iomgr/tcp_client.h"
+#include "src/core/lib/iomgr/timer.h"
 
 static int set_non_block(SOCKET sock) {
   int status;
diff --git a/src/core/iomgr/tcp_windows.h b/src/core/lib/iomgr/tcp_windows.h
similarity index 90%
rename from src/core/iomgr/tcp_windows.h
rename to src/core/lib/iomgr/tcp_windows.h
index 78bc133..7a9ebd8 100644
--- a/src/core/iomgr/tcp_windows.h
+++ b/src/core/lib/iomgr/tcp_windows.h
@@ -31,8 +31,8 @@
  *
  */
 
-#ifndef GRPC_CORE_IOMGR_TCP_WINDOWS_H
-#define GRPC_CORE_IOMGR_TCP_WINDOWS_H
+#ifndef GRPC_CORE_LIB_IOMGR_TCP_WINDOWS_H
+#define GRPC_CORE_LIB_IOMGR_TCP_WINDOWS_H
 /*
    Low level TCP "bottom half" implementation, for use by transports built on
    top of a TCP connection.
@@ -44,8 +44,8 @@
    otherwise specified.
 */
 
-#include "src/core/iomgr/endpoint.h"
-#include "src/core/iomgr/socket_windows.h"
+#include "src/core/lib/iomgr/endpoint.h"
+#include "src/core/lib/iomgr/socket_windows.h"
 
 /* Create a tcp endpoint given a winsock handle.
  * Takes ownership of the handle.
@@ -54,4 +54,4 @@
 
 int grpc_tcp_prepare_socket(SOCKET sock);
 
-#endif /* GRPC_CORE_IOMGR_TCP_WINDOWS_H */
+#endif /* GRPC_CORE_LIB_IOMGR_TCP_WINDOWS_H */
diff --git a/src/core/iomgr/time_averaged_stats.c b/src/core/lib/iomgr/time_averaged_stats.c
similarity index 97%
rename from src/core/iomgr/time_averaged_stats.c
rename to src/core/lib/iomgr/time_averaged_stats.c
index e075db4..f24d680 100644
--- a/src/core/iomgr/time_averaged_stats.c
+++ b/src/core/lib/iomgr/time_averaged_stats.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/iomgr/time_averaged_stats.h"
+#include "src/core/lib/iomgr/time_averaged_stats.h"
 
 void grpc_time_averaged_stats_init(grpc_time_averaged_stats* stats,
                                    double init_avg, double regress_weight,
diff --git a/src/core/iomgr/time_averaged_stats.h b/src/core/lib/iomgr/time_averaged_stats.h
similarity index 96%
rename from src/core/iomgr/time_averaged_stats.h
rename to src/core/lib/iomgr/time_averaged_stats.h
index 048e244..4a662e1 100644
--- a/src/core/iomgr/time_averaged_stats.h
+++ b/src/core/lib/iomgr/time_averaged_stats.h
@@ -31,8 +31,8 @@
  *
  */
 
-#ifndef GRPC_CORE_IOMGR_TIME_AVERAGED_STATS_H
-#define GRPC_CORE_IOMGR_TIME_AVERAGED_STATS_H
+#ifndef GRPC_CORE_LIB_IOMGR_TIME_AVERAGED_STATS_H
+#define GRPC_CORE_LIB_IOMGR_TIME_AVERAGED_STATS_H
 
 /* This tracks a time-decaying weighted average.  It works by collecting
    batches of samples and then mixing their average into a time-decaying
@@ -85,4 +85,4 @@
    value. */
 double grpc_time_averaged_stats_update_average(grpc_time_averaged_stats* stats);
 
-#endif /* GRPC_CORE_IOMGR_TIME_AVERAGED_STATS_H */
+#endif /* GRPC_CORE_LIB_IOMGR_TIME_AVERAGED_STATS_H */
diff --git a/src/core/iomgr/timer.c b/src/core/lib/iomgr/timer.c
similarity index 98%
rename from src/core/iomgr/timer.c
rename to src/core/lib/iomgr/timer.c
index f444643..4748f9b 100644
--- a/src/core/iomgr/timer.c
+++ b/src/core/lib/iomgr/timer.c
@@ -31,13 +31,13 @@
  *
  */
 
-#include "src/core/iomgr/timer.h"
+#include "src/core/lib/iomgr/timer.h"
 
 #include <grpc/support/log.h>
 #include <grpc/support/sync.h>
 #include <grpc/support/useful.h>
-#include "src/core/iomgr/time_averaged_stats.h"
-#include "src/core/iomgr/timer_heap.h"
+#include "src/core/lib/iomgr/time_averaged_stats.h"
+#include "src/core/lib/iomgr/timer_heap.h"
 
 #define INVALID_HEAP_INDEX 0xffffffffu
 
diff --git a/src/core/iomgr/timer.h b/src/core/lib/iomgr/timer.h
similarity index 95%
rename from src/core/iomgr/timer.h
rename to src/core/lib/iomgr/timer.h
index 1e2d1cb..54f301c 100644
--- a/src/core/iomgr/timer.h
+++ b/src/core/lib/iomgr/timer.h
@@ -31,13 +31,13 @@
  *
  */
 
-#ifndef GRPC_CORE_IOMGR_TIMER_H
-#define GRPC_CORE_IOMGR_TIMER_H
+#ifndef GRPC_CORE_LIB_IOMGR_TIMER_H
+#define GRPC_CORE_LIB_IOMGR_TIMER_H
 
 #include <grpc/support/port_platform.h>
 #include <grpc/support/time.h>
-#include "src/core/iomgr/exec_ctx.h"
-#include "src/core/iomgr/iomgr.h"
+#include "src/core/lib/iomgr/exec_ctx.h"
+#include "src/core/lib/iomgr/iomgr.h"
 
 typedef struct grpc_timer {
   gpr_timespec deadline;
@@ -105,4 +105,4 @@
 
 void grpc_kick_poller(void);
 
-#endif /* GRPC_CORE_IOMGR_TIMER_H */
+#endif /* GRPC_CORE_LIB_IOMGR_TIMER_H */
diff --git a/src/core/iomgr/timer_heap.c b/src/core/lib/iomgr/timer_heap.c
similarity index 98%
rename from src/core/iomgr/timer_heap.c
rename to src/core/lib/iomgr/timer_heap.c
index b5df566..d43b6cc 100644
--- a/src/core/iomgr/timer_heap.c
+++ b/src/core/lib/iomgr/timer_heap.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/iomgr/timer_heap.h"
+#include "src/core/lib/iomgr/timer_heap.h"
 
 #include <string.h>
 
diff --git a/src/core/iomgr/timer_heap.h b/src/core/lib/iomgr/timer_heap.h
similarity index 92%
rename from src/core/iomgr/timer_heap.h
rename to src/core/lib/iomgr/timer_heap.h
index c2912ef..d5112cf 100644
--- a/src/core/iomgr/timer_heap.h
+++ b/src/core/lib/iomgr/timer_heap.h
@@ -31,10 +31,10 @@
  *
  */
 
-#ifndef GRPC_CORE_IOMGR_TIMER_HEAP_H
-#define GRPC_CORE_IOMGR_TIMER_HEAP_H
+#ifndef GRPC_CORE_LIB_IOMGR_TIMER_HEAP_H
+#define GRPC_CORE_LIB_IOMGR_TIMER_HEAP_H
 
-#include "src/core/iomgr/timer.h"
+#include "src/core/lib/iomgr/timer.h"
 
 typedef struct {
   grpc_timer **timers;
@@ -54,4 +54,4 @@
 
 int grpc_timer_heap_is_empty(grpc_timer_heap *heap);
 
-#endif /* GRPC_CORE_IOMGR_TIMER_HEAP_H */
+#endif /* GRPC_CORE_LIB_IOMGR_TIMER_HEAP_H */
diff --git a/src/core/iomgr/udp_server.c b/src/core/lib/iomgr/udp_server.c
similarity index 96%
rename from src/core/iomgr/udp_server.c
rename to src/core/lib/iomgr/udp_server.c
index 1741591..3d8bcc9 100644
--- a/src/core/iomgr/udp_server.c
+++ b/src/core/lib/iomgr/udp_server.c
@@ -41,7 +41,7 @@
 #ifdef GRPC_NEED_UDP
 #ifdef GPR_POSIX_SOCKET
 
-#include "src/core/iomgr/udp_server.h"
+#include "src/core/lib/iomgr/udp_server.h"
 
 #include <errno.h>
 #include <fcntl.h>
@@ -60,13 +60,13 @@
 #include <grpc/support/string_util.h>
 #include <grpc/support/sync.h>
 #include <grpc/support/time.h>
-#include "src/core/iomgr/fd_posix.h"
-#include "src/core/iomgr/pollset_posix.h"
-#include "src/core/iomgr/resolve_address.h"
-#include "src/core/iomgr/sockaddr_utils.h"
-#include "src/core/iomgr/socket_utils_posix.h"
-#include "src/core/iomgr/unix_sockets_posix.h"
-#include "src/core/support/string.h"
+#include "src/core/lib/iomgr/fd_posix.h"
+#include "src/core/lib/iomgr/pollset_posix.h"
+#include "src/core/lib/iomgr/resolve_address.h"
+#include "src/core/lib/iomgr/sockaddr_utils.h"
+#include "src/core/lib/iomgr/socket_utils_posix.h"
+#include "src/core/lib/iomgr/unix_sockets_posix.h"
+#include "src/core/lib/support/string.h"
 
 #define INIT_PORT_CAP 2
 
diff --git a/src/core/iomgr/udp_server.h b/src/core/lib/iomgr/udp_server.h
similarity index 93%
rename from src/core/iomgr/udp_server.h
rename to src/core/lib/iomgr/udp_server.h
index 148c04f..316845a 100644
--- a/src/core/iomgr/udp_server.h
+++ b/src/core/lib/iomgr/udp_server.h
@@ -31,11 +31,11 @@
  *
  */
 
-#ifndef GRPC_CORE_IOMGR_UDP_SERVER_H
-#define GRPC_CORE_IOMGR_UDP_SERVER_H
+#ifndef GRPC_CORE_LIB_IOMGR_UDP_SERVER_H
+#define GRPC_CORE_LIB_IOMGR_UDP_SERVER_H
 
-#include "src/core/iomgr/endpoint.h"
-#include "src/core/iomgr/fd_posix.h"
+#include "src/core/lib/iomgr/endpoint.h"
+#include "src/core/lib/iomgr/fd_posix.h"
 
 /* Forward decl of struct grpc_server */
 /* This is not typedef'ed to avoid a typedef-redefinition error */
@@ -74,4 +74,4 @@
 void grpc_udp_server_destroy(grpc_exec_ctx *exec_ctx, grpc_udp_server *server,
                              grpc_closure *on_done);
 
-#endif /* GRPC_CORE_IOMGR_UDP_SERVER_H */
+#endif /* GRPC_CORE_LIB_IOMGR_UDP_SERVER_H */
diff --git a/src/core/iomgr/unix_sockets_posix.c b/src/core/lib/iomgr/unix_sockets_posix.c
similarity index 98%
rename from src/core/iomgr/unix_sockets_posix.c
rename to src/core/lib/iomgr/unix_sockets_posix.c
index 174a7e7..42e4498 100644
--- a/src/core/iomgr/unix_sockets_posix.c
+++ b/src/core/lib/iomgr/unix_sockets_posix.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/iomgr/unix_sockets_posix.h"
+#include "src/core/lib/iomgr/unix_sockets_posix.h"
 
 #ifdef GPR_HAVE_UNIX_SOCKET
 
diff --git a/src/core/iomgr/unix_sockets_posix.h b/src/core/lib/iomgr/unix_sockets_posix.h
similarity index 86%
rename from src/core/iomgr/unix_sockets_posix.h
rename to src/core/lib/iomgr/unix_sockets_posix.h
index e842ba3..752cab8 100644
--- a/src/core/iomgr/unix_sockets_posix.h
+++ b/src/core/lib/iomgr/unix_sockets_posix.h
@@ -31,17 +31,17 @@
  *
  */
 
-#ifndef GRPC_CORE_IOMGR_UNIX_SOCKETS_POSIX_H
-#define GRPC_CORE_IOMGR_UNIX_SOCKETS_POSIX_H
+#ifndef GRPC_CORE_LIB_IOMGR_UNIX_SOCKETS_POSIX_H
+#define GRPC_CORE_LIB_IOMGR_UNIX_SOCKETS_POSIX_H
 
 #include <grpc/support/port_platform.h>
 
 #include <grpc/support/string_util.h>
 
-#include "src/core/client_config/resolver_factory.h"
-#include "src/core/client_config/uri_parser.h"
-#include "src/core/iomgr/resolve_address.h"
-#include "src/core/iomgr/sockaddr.h"
+#include "src/core/lib/client_config/resolver_factory.h"
+#include "src/core/lib/client_config/uri_parser.h"
+#include "src/core/lib/iomgr/resolve_address.h"
+#include "src/core/lib/iomgr/sockaddr.h"
 
 void grpc_create_socketpair_if_unix(int sv[2]);
 
@@ -58,4 +58,4 @@
 
 char *grpc_sockaddr_to_uri_unix_if_possible(const struct sockaddr *addr);
 
-#endif /* GRPC_CORE_IOMGR_UNIX_SOCKETS_POSIX_H */
+#endif /* GRPC_CORE_LIB_IOMGR_UNIX_SOCKETS_POSIX_H */
diff --git a/src/core/iomgr/unix_sockets_posix_noop.c b/src/core/lib/iomgr/unix_sockets_posix_noop.c
similarity index 97%
rename from src/core/iomgr/unix_sockets_posix_noop.c
rename to src/core/lib/iomgr/unix_sockets_posix_noop.c
index 045467b..06f6ee0 100644
--- a/src/core/iomgr/unix_sockets_posix_noop.c
+++ b/src/core/lib/iomgr/unix_sockets_posix_noop.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/iomgr/unix_sockets_posix.h"
+#include "src/core/lib/iomgr/unix_sockets_posix.h"
 
 #ifndef GPR_HAVE_UNIX_SOCKET
 
diff --git a/src/core/iomgr/wakeup_fd_eventfd.c b/src/core/lib/iomgr/wakeup_fd_eventfd.c
similarity index 95%
rename from src/core/iomgr/wakeup_fd_eventfd.c
rename to src/core/lib/iomgr/wakeup_fd_eventfd.c
index f67379e..41ded0c 100644
--- a/src/core/iomgr/wakeup_fd_eventfd.c
+++ b/src/core/lib/iomgr/wakeup_fd_eventfd.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -41,8 +41,8 @@
 
 #include <grpc/support/log.h>
 
-#include "src/core/iomgr/wakeup_fd_posix.h"
-#include "src/core/profiling/timers.h"
+#include "src/core/lib/iomgr/wakeup_fd_posix.h"
+#include "src/core/lib/profiling/timers.h"
 
 static void eventfd_create(grpc_wakeup_fd* fd_info) {
   int efd = eventfd(0, EFD_NONBLOCK | EFD_CLOEXEC);
diff --git a/src/core/iomgr/wakeup_fd_nospecial.c b/src/core/lib/iomgr/wakeup_fd_nospecial.c
similarity index 97%
rename from src/core/iomgr/wakeup_fd_nospecial.c
rename to src/core/lib/iomgr/wakeup_fd_nospecial.c
index 7b2be9e..39defa6 100644
--- a/src/core/iomgr/wakeup_fd_nospecial.c
+++ b/src/core/lib/iomgr/wakeup_fd_nospecial.c
@@ -41,7 +41,7 @@
 #ifdef GPR_POSIX_NO_SPECIAL_WAKEUP_FD
 
 #include <stddef.h>
-#include "src/core/iomgr/wakeup_fd_posix.h"
+#include "src/core/lib/iomgr/wakeup_fd_posix.h"
 
 static int check_availability_invalid(void) { return 0; }
 
diff --git a/src/core/iomgr/wakeup_fd_pipe.c b/src/core/lib/iomgr/wakeup_fd_pipe.c
similarity index 96%
rename from src/core/iomgr/wakeup_fd_pipe.c
rename to src/core/lib/iomgr/wakeup_fd_pipe.c
index dd2fd1f..820919e 100644
--- a/src/core/iomgr/wakeup_fd_pipe.c
+++ b/src/core/lib/iomgr/wakeup_fd_pipe.c
@@ -35,7 +35,7 @@
 
 #ifdef GPR_POSIX_WAKEUP_FD
 
-#include "src/core/iomgr/wakeup_fd_posix.h"
+#include "src/core/lib/iomgr/wakeup_fd_posix.h"
 
 #include <errno.h>
 #include <string.h>
@@ -43,7 +43,7 @@
 
 #include <grpc/support/log.h>
 
-#include "src/core/iomgr/socket_utils_posix.h"
+#include "src/core/lib/iomgr/socket_utils_posix.h"
 
 static void pipe_init(grpc_wakeup_fd* fd_info) {
   int pipefd[2];
diff --git a/src/core/iomgr/wakeup_fd_pipe.h b/src/core/lib/iomgr/wakeup_fd_pipe.h
similarity index 89%
rename from src/core/iomgr/wakeup_fd_pipe.h
rename to src/core/lib/iomgr/wakeup_fd_pipe.h
index eb3e02b..bbdb1fc 100644
--- a/src/core/iomgr/wakeup_fd_pipe.h
+++ b/src/core/lib/iomgr/wakeup_fd_pipe.h
@@ -31,11 +31,11 @@
  *
  */
 
-#ifndef GRPC_CORE_IOMGR_WAKEUP_FD_PIPE_H
-#define GRPC_CORE_IOMGR_WAKEUP_FD_PIPE_H
+#ifndef GRPC_CORE_LIB_IOMGR_WAKEUP_FD_PIPE_H
+#define GRPC_CORE_LIB_IOMGR_WAKEUP_FD_PIPE_H
 
-#include "src/core/iomgr/wakeup_fd_posix.h"
+#include "src/core/lib/iomgr/wakeup_fd_posix.h"
 
 extern grpc_wakeup_fd_vtable grpc_pipe_wakeup_fd_vtable;
 
-#endif /* GRPC_CORE_IOMGR_WAKEUP_FD_PIPE_H */
+#endif /* GRPC_CORE_LIB_IOMGR_WAKEUP_FD_PIPE_H */
diff --git a/src/core/iomgr/wakeup_fd_posix.c b/src/core/lib/iomgr/wakeup_fd_posix.c
similarity index 96%
rename from src/core/iomgr/wakeup_fd_posix.c
rename to src/core/lib/iomgr/wakeup_fd_posix.c
index 07778c4..c4d174f 100644
--- a/src/core/iomgr/wakeup_fd_posix.c
+++ b/src/core/lib/iomgr/wakeup_fd_posix.c
@@ -36,8 +36,8 @@
 #ifdef GPR_POSIX_WAKEUP_FD
 
 #include <stddef.h>
-#include "src/core/iomgr/wakeup_fd_pipe.h"
-#include "src/core/iomgr/wakeup_fd_posix.h"
+#include "src/core/lib/iomgr/wakeup_fd_pipe.h"
+#include "src/core/lib/iomgr/wakeup_fd_posix.h"
 
 static const grpc_wakeup_fd_vtable *wakeup_fd_vtable = NULL;
 int grpc_allow_specialized_wakeup_fd = 1;
diff --git a/src/core/iomgr/wakeup_fd_posix.h b/src/core/lib/iomgr/wakeup_fd_posix.h
similarity index 96%
rename from src/core/iomgr/wakeup_fd_posix.h
rename to src/core/lib/iomgr/wakeup_fd_posix.h
index d7e3cf4..20988d5 100644
--- a/src/core/iomgr/wakeup_fd_posix.h
+++ b/src/core/lib/iomgr/wakeup_fd_posix.h
@@ -59,8 +59,8 @@
  * 2. If the polling thread was awakened by a wakeup_fd event, call
  *    grpc_wakeup_fd_consume_wakeup() on it.
  */
-#ifndef GRPC_CORE_IOMGR_WAKEUP_FD_POSIX_H
-#define GRPC_CORE_IOMGR_WAKEUP_FD_POSIX_H
+#ifndef GRPC_CORE_LIB_IOMGR_WAKEUP_FD_POSIX_H
+#define GRPC_CORE_LIB_IOMGR_WAKEUP_FD_POSIX_H
 
 void grpc_wakeup_fd_global_init(void);
 void grpc_wakeup_fd_global_destroy(void);
@@ -98,4 +98,4 @@
  * wakeup_fd_nospecial.c if no such implementation exists. */
 extern const grpc_wakeup_fd_vtable grpc_specialized_wakeup_fd_vtable;
 
-#endif /* GRPC_CORE_IOMGR_WAKEUP_FD_POSIX_H */
+#endif /* GRPC_CORE_LIB_IOMGR_WAKEUP_FD_POSIX_H */
diff --git a/src/core/iomgr/workqueue.h b/src/core/lib/iomgr/workqueue.h
similarity index 88%
rename from src/core/iomgr/workqueue.h
rename to src/core/lib/iomgr/workqueue.h
index 2b923ba..9c420c5 100644
--- a/src/core/iomgr/workqueue.h
+++ b/src/core/lib/iomgr/workqueue.h
@@ -31,20 +31,20 @@
  *
  */
 
-#ifndef GRPC_CORE_IOMGR_WORKQUEUE_H
-#define GRPC_CORE_IOMGR_WORKQUEUE_H
+#ifndef GRPC_CORE_LIB_IOMGR_WORKQUEUE_H
+#define GRPC_CORE_LIB_IOMGR_WORKQUEUE_H
 
-#include "src/core/iomgr/closure.h"
-#include "src/core/iomgr/exec_ctx.h"
-#include "src/core/iomgr/iomgr.h"
-#include "src/core/iomgr/pollset.h"
+#include "src/core/lib/iomgr/closure.h"
+#include "src/core/lib/iomgr/exec_ctx.h"
+#include "src/core/lib/iomgr/iomgr.h"
+#include "src/core/lib/iomgr/pollset.h"
 
 #ifdef GPR_POSIX_SOCKET
-#include "src/core/iomgr/workqueue_posix.h"
+#include "src/core/lib/iomgr/workqueue_posix.h"
 #endif
 
 #ifdef GPR_WIN32
-#include "src/core/iomgr/workqueue_windows.h"
+#include "src/core/lib/iomgr/workqueue_windows.h"
 #endif
 
 /* grpc_workqueue is forward declared in exec_ctx.h */
@@ -80,4 +80,4 @@
 void grpc_workqueue_push(grpc_workqueue *workqueue, grpc_closure *closure,
                          int success);
 
-#endif /* GRPC_CORE_IOMGR_WORKQUEUE_H */
+#endif /* GRPC_CORE_LIB_IOMGR_WORKQUEUE_H */
diff --git a/src/core/iomgr/workqueue_posix.c b/src/core/lib/iomgr/workqueue_posix.c
similarity index 97%
rename from src/core/iomgr/workqueue_posix.c
rename to src/core/lib/iomgr/workqueue_posix.c
index 2b42e6d..76830ef 100644
--- a/src/core/iomgr/workqueue_posix.c
+++ b/src/core/lib/iomgr/workqueue_posix.c
@@ -35,7 +35,7 @@
 
 #ifdef GPR_POSIX_SOCKET
 
-#include "src/core/iomgr/workqueue.h"
+#include "src/core/lib/iomgr/workqueue.h"
 
 #include <stdio.h>
 
@@ -43,8 +43,8 @@
 #include <grpc/support/log.h>
 #include <grpc/support/useful.h>
 
-#include "src/core/iomgr/fd_posix.h"
-#include "src/core/iomgr/pollset_posix.h"
+#include "src/core/lib/iomgr/fd_posix.h"
+#include "src/core/lib/iomgr/pollset_posix.h"
 
 static void on_readable(grpc_exec_ctx *exec_ctx, void *arg, bool success);
 
diff --git a/src/core/iomgr/workqueue_posix.h b/src/core/lib/iomgr/workqueue_posix.h
similarity index 90%
rename from src/core/iomgr/workqueue_posix.h
rename to src/core/lib/iomgr/workqueue_posix.h
index 89937b1..956de8f 100644
--- a/src/core/iomgr/workqueue_posix.h
+++ b/src/core/lib/iomgr/workqueue_posix.h
@@ -31,10 +31,10 @@
  *
  */
 
-#ifndef GRPC_CORE_IOMGR_WORKQUEUE_POSIX_H
-#define GRPC_CORE_IOMGR_WORKQUEUE_POSIX_H
+#ifndef GRPC_CORE_LIB_IOMGR_WORKQUEUE_POSIX_H
+#define GRPC_CORE_LIB_IOMGR_WORKQUEUE_POSIX_H
 
-#include "src/core/iomgr/wakeup_fd_posix.h"
+#include "src/core/lib/iomgr/wakeup_fd_posix.h"
 
 struct grpc_fd;
 
@@ -50,4 +50,4 @@
   grpc_closure read_closure;
 };
 
-#endif /* GRPC_CORE_IOMGR_WORKQUEUE_POSIX_H */
+#endif /* GRPC_CORE_LIB_IOMGR_WORKQUEUE_POSIX_H */
diff --git a/src/core/iomgr/workqueue_windows.c b/src/core/lib/iomgr/workqueue_windows.c
similarity index 95%
rename from src/core/iomgr/workqueue_windows.c
rename to src/core/lib/iomgr/workqueue_windows.c
index f9ca575..6697f93 100644
--- a/src/core/iomgr/workqueue_windows.c
+++ b/src/core/lib/iomgr/workqueue_windows.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -35,6 +35,6 @@
 
 #ifdef GPR_WIN32
 
-#include "src/core/iomgr/workqueue.h"
+#include "src/core/lib/iomgr/workqueue.h"
 
 #endif /* GPR_WIN32 */
diff --git a/src/core/iomgr/workqueue_windows.h b/src/core/lib/iomgr/workqueue_windows.h
similarity index 91%
rename from src/core/iomgr/workqueue_windows.h
rename to src/core/lib/iomgr/workqueue_windows.h
index 7e81869..8e6980b 100644
--- a/src/core/iomgr/workqueue_windows.h
+++ b/src/core/lib/iomgr/workqueue_windows.h
@@ -31,7 +31,7 @@
  *
  */
 
-#ifndef GRPC_CORE_IOMGR_WORKQUEUE_WINDOWS_H
-#define GRPC_CORE_IOMGR_WORKQUEUE_WINDOWS_H
+#ifndef GRPC_CORE_LIB_IOMGR_WORKQUEUE_WINDOWS_H
+#define GRPC_CORE_LIB_IOMGR_WORKQUEUE_WINDOWS_H
 
-#endif /* GRPC_CORE_IOMGR_WORKQUEUE_WINDOWS_H */
+#endif /* GRPC_CORE_LIB_IOMGR_WORKQUEUE_WINDOWS_H */
diff --git a/src/core/json/json.c b/src/core/lib/json/json.c
similarity index 96%
rename from src/core/json/json.c
rename to src/core/lib/json/json.c
index 96e11ee..9793045 100644
--- a/src/core/json/json.c
+++ b/src/core/lib/json/json.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -35,7 +35,7 @@
 
 #include <grpc/support/alloc.h>
 
-#include "src/core/json/json.h"
+#include "src/core/lib/json/json.h"
 
 grpc_json *grpc_json_create(grpc_json_type type) {
   grpc_json *json = gpr_malloc(sizeof(*json));
diff --git a/src/core/json/json.h b/src/core/lib/json/json.h
similarity index 95%
rename from src/core/json/json.h
rename to src/core/lib/json/json.h
index aea9d5d..41d87dd 100644
--- a/src/core/json/json.h
+++ b/src/core/lib/json/json.h
@@ -31,12 +31,12 @@
  *
  */
 
-#ifndef GRPC_CORE_JSON_JSON_H
-#define GRPC_CORE_JSON_JSON_H
+#ifndef GRPC_CORE_LIB_JSON_JSON_H
+#define GRPC_CORE_LIB_JSON_JSON_H
 
 #include <stdlib.h>
 
-#include "src/core/json/json_common.h"
+#include "src/core/lib/json/json_common.h"
 
 /* A tree-like structure to hold json values. The key and value pointers
  * are not owned by it.
@@ -85,4 +85,4 @@
 grpc_json *grpc_json_create(grpc_json_type type);
 void grpc_json_destroy(grpc_json *json);
 
-#endif /* GRPC_CORE_JSON_JSON_H */
+#endif /* GRPC_CORE_LIB_JSON_JSON_H */
diff --git a/src/core/json/json_common.h b/src/core/lib/json/json_common.h
similarity index 93%
rename from src/core/json/json_common.h
rename to src/core/lib/json/json_common.h
index 7205a94..ce98004 100644
--- a/src/core/json/json_common.h
+++ b/src/core/lib/json/json_common.h
@@ -31,8 +31,8 @@
  *
  */
 
-#ifndef GRPC_CORE_JSON_JSON_COMMON_H
-#define GRPC_CORE_JSON_JSON_COMMON_H
+#ifndef GRPC_CORE_LIB_JSON_JSON_COMMON_H
+#define GRPC_CORE_LIB_JSON_JSON_COMMON_H
 
 /* The various json types. */
 typedef enum {
@@ -46,4 +46,4 @@
   GRPC_JSON_TOP_LEVEL
 } grpc_json_type;
 
-#endif /* GRPC_CORE_JSON_JSON_COMMON_H */
+#endif /* GRPC_CORE_LIB_JSON_JSON_COMMON_H */
diff --git a/src/core/json/json_reader.c b/src/core/lib/json/json_reader.c
similarity index 99%
rename from src/core/json/json_reader.c
rename to src/core/lib/json/json_reader.c
index 30da6f2..0807f02 100644
--- a/src/core/json/json_reader.c
+++ b/src/core/lib/json/json_reader.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -37,7 +37,7 @@
 
 #include <grpc/support/log.h>
 
-#include "src/core/json/json_reader.h"
+#include "src/core/lib/json/json_reader.h"
 
 static void json_reader_string_clear(grpc_json_reader *reader) {
   reader->vtable->string_clear(reader->userdata);
diff --git a/src/core/json/json_reader.h b/src/core/lib/json/json_reader.h
similarity index 97%
rename from src/core/json/json_reader.h
rename to src/core/lib/json/json_reader.h
index f25f44b..37a8388 100644
--- a/src/core/json/json_reader.h
+++ b/src/core/lib/json/json_reader.h
@@ -31,11 +31,11 @@
  *
  */
 
-#ifndef GRPC_CORE_JSON_JSON_READER_H
-#define GRPC_CORE_JSON_JSON_READER_H
+#ifndef GRPC_CORE_LIB_JSON_JSON_READER_H
+#define GRPC_CORE_LIB_JSON_JSON_READER_H
 
 #include <grpc/support/port_platform.h>
-#include "src/core/json/json_common.h"
+#include "src/core/lib/json/json_common.h"
 
 typedef enum {
   GRPC_JSON_STATE_OBJECT_KEY_BEGIN,
@@ -157,4 +157,4 @@
  */
 int grpc_json_reader_is_complete(grpc_json_reader *reader);
 
-#endif /* GRPC_CORE_JSON_JSON_READER_H */
+#endif /* GRPC_CORE_LIB_JSON_JSON_READER_H */
diff --git a/src/core/json/json_string.c b/src/core/lib/json/json_string.c
similarity index 98%
rename from src/core/json/json_string.c
rename to src/core/lib/json/json_string.c
index d4ebce1..8e6f125 100644
--- a/src/core/json/json_string.c
+++ b/src/core/lib/json/json_string.c
@@ -37,9 +37,9 @@
 #include <grpc/support/alloc.h>
 #include <grpc/support/log.h>
 
-#include "src/core/json/json.h"
-#include "src/core/json/json_reader.h"
-#include "src/core/json/json_writer.h"
+#include "src/core/lib/json/json.h"
+#include "src/core/lib/json/json_reader.h"
+#include "src/core/lib/json/json_writer.h"
 
 /* The json reader will construct a bunch of grpc_json objects and
  * link them all up together in a tree-like structure that will represent
diff --git a/src/core/json/json_writer.c b/src/core/lib/json/json_writer.c
similarity index 98%
rename from src/core/json/json_writer.c
rename to src/core/lib/json/json_writer.c
index 326ec2d..d614a72 100644
--- a/src/core/json/json_writer.c
+++ b/src/core/lib/json/json_writer.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -35,7 +35,7 @@
 
 #include <grpc/support/port_platform.h>
 
-#include "src/core/json/json_writer.h"
+#include "src/core/lib/json/json_writer.h"
 
 static void json_writer_output_char(grpc_json_writer *writer, char c) {
   writer->vtable->output_char(writer->userdata, c);
diff --git a/src/core/json/json_writer.h b/src/core/lib/json/json_writer.h
similarity index 95%
rename from src/core/json/json_writer.h
rename to src/core/lib/json/json_writer.h
index c392126..f90e79c 100644
--- a/src/core/json/json_writer.h
+++ b/src/core/lib/json/json_writer.h
@@ -43,12 +43,12 @@
  * a valid UTF-8 string overall.
  */
 
-#ifndef GRPC_CORE_JSON_JSON_WRITER_H
-#define GRPC_CORE_JSON_JSON_WRITER_H
+#ifndef GRPC_CORE_LIB_JSON_JSON_WRITER_H
+#define GRPC_CORE_LIB_JSON_JSON_WRITER_H
 
 #include <stdlib.h>
 
-#include "src/core/json/json_common.h"
+#include "src/core/lib/json/json_common.h"
 
 typedef struct grpc_json_writer_vtable {
   /* Adds a character to the output stream. */
@@ -94,4 +94,4 @@
 void grpc_json_writer_value_string(grpc_json_writer *writer,
                                    const char *string);
 
-#endif /* GRPC_CORE_JSON_JSON_WRITER_H */
+#endif /* GRPC_CORE_LIB_JSON_JSON_WRITER_H */
diff --git a/src/core/profiling/basic_timers.c b/src/core/lib/profiling/basic_timers.c
similarity index 99%
rename from src/core/profiling/basic_timers.c
rename to src/core/lib/profiling/basic_timers.c
index 3067f52..15a9584 100644
--- a/src/core/profiling/basic_timers.c
+++ b/src/core/lib/profiling/basic_timers.c
@@ -35,7 +35,7 @@
 
 #ifdef GRPC_BASIC_PROFILER
 
-#include "src/core/profiling/timers.h"
+#include "src/core/lib/profiling/timers.h"
 
 #include <grpc/support/alloc.h>
 #include <grpc/support/log.h>
diff --git a/src/core/profiling/stap_probes.d b/src/core/lib/profiling/stap_probes.d
similarity index 100%
rename from src/core/profiling/stap_probes.d
rename to src/core/lib/profiling/stap_probes.d
diff --git a/src/core/profiling/stap_timers.c b/src/core/lib/profiling/stap_timers.c
similarity index 94%
rename from src/core/profiling/stap_timers.c
rename to src/core/lib/profiling/stap_timers.c
index efcd1af..f55c1a5 100644
--- a/src/core/profiling/stap_timers.c
+++ b/src/core/lib/profiling/stap_timers.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -35,11 +35,11 @@
 
 #ifdef GRPC_STAP_PROFILER
 
-#include "src/core/profiling/timers.h"
+#include "src/core/lib/profiling/timers.h"
 
 #include <sys/sdt.h>
 /* Generated from src/core/profiling/stap_probes.d */
-#include "src/core/profiling/stap_probes.h"
+#include "src/core/lib/profiling/stap_probes.h"
 
 /* Latency profiler API implementation. */
 void gpr_timer_add_mark(int tag, const char *tagstr, void *id, const char *file,
diff --git a/src/core/profiling/timers.h b/src/core/lib/profiling/timers.h
similarity index 95%
rename from src/core/profiling/timers.h
rename to src/core/lib/profiling/timers.h
index 6a188dc..1303593 100644
--- a/src/core/profiling/timers.h
+++ b/src/core/lib/profiling/timers.h
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,8 +31,8 @@
  *
  */
 
-#ifndef GRPC_CORE_PROFILING_TIMERS_H
-#define GRPC_CORE_PROFILING_TIMERS_H
+#ifndef GRPC_CORE_LIB_PROFILING_TIMERS_H
+#define GRPC_CORE_LIB_PROFILING_TIMERS_H
 
 #ifdef __cplusplus
 extern "C" {
@@ -116,4 +116,4 @@
 #endif
 #endif
 
-#endif /* GRPC_CORE_PROFILING_TIMERS_H */
+#endif /* GRPC_CORE_LIB_PROFILING_TIMERS_H */
diff --git a/src/core/proto/grpc/lb/v0/load_balancer.pb.c b/src/core/lib/proto/grpc/lb/v0/load_balancer.pb.c
similarity index 98%
rename from src/core/proto/grpc/lb/v0/load_balancer.pb.c
rename to src/core/lib/proto/grpc/lb/v0/load_balancer.pb.c
index 59aae30..8f82141 100644
--- a/src/core/proto/grpc/lb/v0/load_balancer.pb.c
+++ b/src/core/lib/proto/grpc/lb/v0/load_balancer.pb.c
@@ -33,7 +33,7 @@
 /* Automatically generated nanopb constant definitions */
 /* Generated by nanopb-0.3.5-dev */
 
-#include "src/core/proto/grpc/lb/v0/load_balancer.pb.h"
+#include "src/core/lib/proto/grpc/lb/v0/load_balancer.pb.h"
 
 #if PB_PROTO_HEADER_VERSION != 30
 #error Regenerate this file with the current version of nanopb generator.
diff --git a/src/core/proto/grpc/lb/v0/load_balancer.pb.h b/src/core/lib/proto/grpc/lb/v0/load_balancer.pb.h
similarity index 100%
rename from src/core/proto/grpc/lb/v0/load_balancer.pb.h
rename to src/core/lib/proto/grpc/lb/v0/load_balancer.pb.h
diff --git a/src/core/security/auth_filters.h b/src/core/lib/security/auth_filters.h
similarity index 89%
rename from src/core/security/auth_filters.h
rename to src/core/lib/security/auth_filters.h
index 1154a1d..162b60e 100644
--- a/src/core/security/auth_filters.h
+++ b/src/core/lib/security/auth_filters.h
@@ -31,12 +31,12 @@
  *
  */
 
-#ifndef GRPC_CORE_SECURITY_AUTH_FILTERS_H
-#define GRPC_CORE_SECURITY_AUTH_FILTERS_H
+#ifndef GRPC_CORE_LIB_SECURITY_AUTH_FILTERS_H
+#define GRPC_CORE_LIB_SECURITY_AUTH_FILTERS_H
 
-#include "src/core/channel/channel_stack.h"
+#include "src/core/lib/channel/channel_stack.h"
 
 extern const grpc_channel_filter grpc_client_auth_filter;
 extern const grpc_channel_filter grpc_server_auth_filter;
 
-#endif /* GRPC_CORE_SECURITY_AUTH_FILTERS_H */
+#endif /* GRPC_CORE_LIB_SECURITY_AUTH_FILTERS_H */
diff --git a/src/core/security/b64.c b/src/core/lib/security/b64.c
similarity index 99%
rename from src/core/security/b64.c
rename to src/core/lib/security/b64.c
index c40b528..1d38795 100644
--- a/src/core/security/b64.c
+++ b/src/core/lib/security/b64.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/security/b64.h"
+#include "src/core/lib/security/b64.h"
 
 #include <stdint.h>
 #include <string.h>
diff --git a/src/core/security/b64.h b/src/core/lib/security/b64.h
similarity index 94%
rename from src/core/security/b64.h
rename to src/core/lib/security/b64.h
index d18f695..0bf372a 100644
--- a/src/core/security/b64.h
+++ b/src/core/lib/security/b64.h
@@ -31,8 +31,8 @@
  *
  */
 
-#ifndef GRPC_CORE_SECURITY_B64_H
-#define GRPC_CORE_SECURITY_B64_H
+#ifndef GRPC_CORE_LIB_SECURITY_B64_H
+#define GRPC_CORE_LIB_SECURITY_B64_H
 
 #include <grpc/support/slice.h>
 
@@ -49,4 +49,4 @@
 gpr_slice grpc_base64_decode_with_len(const char *b64, size_t b64_len,
                                       int url_safe);
 
-#endif /* GRPC_CORE_SECURITY_B64_H */
+#endif /* GRPC_CORE_LIB_SECURITY_B64_H */
diff --git a/src/core/security/client_auth_filter.c b/src/core/lib/security/client_auth_filter.c
similarity index 95%
rename from src/core/security/client_auth_filter.c
rename to src/core/lib/security/client_auth_filter.c
index e2c23ef..af6073e 100644
--- a/src/core/security/client_auth_filter.c
+++ b/src/core/lib/security/client_auth_filter.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/security/auth_filters.h"
+#include "src/core/lib/security/auth_filters.h"
 
 #include <string.h>
 
@@ -39,13 +39,13 @@
 #include <grpc/support/log.h>
 #include <grpc/support/string_util.h>
 
-#include "src/core/channel/channel_stack.h"
-#include "src/core/security/credentials.h"
-#include "src/core/security/security_connector.h"
-#include "src/core/security/security_context.h"
-#include "src/core/support/string.h"
-#include "src/core/surface/call.h"
-#include "src/core/transport/static_metadata.h"
+#include "src/core/lib/channel/channel_stack.h"
+#include "src/core/lib/security/credentials.h"
+#include "src/core/lib/security/security_connector.h"
+#include "src/core/lib/security/security_context.h"
+#include "src/core/lib/support/string.h"
+#include "src/core/lib/surface/call.h"
+#include "src/core/lib/transport/static_metadata.h"
 
 #define MAX_CREDENTIALS_METADATA_COUNT 4
 
@@ -172,7 +172,7 @@
     calld->creds = grpc_composite_call_credentials_create(channel_call_creds,
                                                           ctx->creds, NULL);
     if (calld->creds == NULL) {
-      bubble_up_error(exec_ctx, elem, GRPC_STATUS_INVALID_ARGUMENT,
+      bubble_up_error(exec_ctx, elem, GRPC_STATUS_INTERNAL,
                       "Incompatible credentials set on channel and call.");
       return;
     }
@@ -201,7 +201,7 @@
     char *error_msg;
     gpr_asprintf(&error_msg, "Invalid host %s set in :authority metadata.",
                  grpc_mdstr_as_c_string(calld->host));
-    bubble_up_error(exec_ctx, elem, GRPC_STATUS_INVALID_ARGUMENT, error_msg);
+    bubble_up_error(exec_ctx, elem, GRPC_STATUS_INTERNAL, error_msg);
     gpr_free(error_msg);
   }
 }
diff --git a/src/core/security/credentials.c b/src/core/lib/security/credentials.c
similarity index 98%
rename from src/core/security/credentials.c
rename to src/core/lib/security/credentials.c
index c8348bc..99a07e5 100644
--- a/src/core/security/credentials.c
+++ b/src/core/lib/security/credentials.c
@@ -31,19 +31,19 @@
  *
  */
 
-#include "src/core/security/credentials.h"
+#include "src/core/lib/security/credentials.h"
 
 #include <stdio.h>
 #include <string.h>
 
-#include "src/core/channel/channel_args.h"
-#include "src/core/channel/http_client_filter.h"
-#include "src/core/http/httpcli.h"
-#include "src/core/http/parser.h"
-#include "src/core/iomgr/executor.h"
-#include "src/core/json/json.h"
-#include "src/core/support/string.h"
-#include "src/core/surface/api_trace.h"
+#include "src/core/lib/channel/channel_args.h"
+#include "src/core/lib/channel/http_client_filter.h"
+#include "src/core/lib/http/httpcli.h"
+#include "src/core/lib/http/parser.h"
+#include "src/core/lib/iomgr/executor.h"
+#include "src/core/lib/json/json.h"
+#include "src/core/lib/support/string.h"
+#include "src/core/lib/surface/api_trace.h"
 
 #include <grpc/support/alloc.h>
 #include <grpc/support/log.h>
diff --git a/src/core/security/credentials.h b/src/core/lib/security/credentials.h
similarity index 96%
rename from src/core/security/credentials.h
rename to src/core/lib/security/credentials.h
index bfa7cc7..7168b98 100644
--- a/src/core/security/credentials.h
+++ b/src/core/lib/security/credentials.h
@@ -31,18 +31,18 @@
  *
  */
 
-#ifndef GRPC_CORE_SECURITY_CREDENTIALS_H
-#define GRPC_CORE_SECURITY_CREDENTIALS_H
+#ifndef GRPC_CORE_LIB_SECURITY_CREDENTIALS_H
+#define GRPC_CORE_LIB_SECURITY_CREDENTIALS_H
 
 #include <grpc/grpc.h>
 #include <grpc/grpc_security.h>
 #include <grpc/support/sync.h>
-#include "src/core/transport/metadata_batch.h"
+#include "src/core/lib/transport/metadata_batch.h"
 
-#include "src/core/http/httpcli.h"
-#include "src/core/http/parser.h"
-#include "src/core/security/json_token.h"
-#include "src/core/security/security_connector.h"
+#include "src/core/lib/http/httpcli.h"
+#include "src/core/lib/http/parser.h"
+#include "src/core/lib/security/json_token.h"
+#include "src/core/lib/security/security_connector.h"
 
 struct grpc_http_response;
 
@@ -374,4 +374,4 @@
   grpc_credentials_md_store *plugin_md;
 } grpc_plugin_credentials;
 
-#endif /* GRPC_CORE_SECURITY_CREDENTIALS_H */
+#endif /* GRPC_CORE_LIB_SECURITY_CREDENTIALS_H */
diff --git a/src/core/security/credentials_metadata.c b/src/core/lib/security/credentials_metadata.c
similarity index 97%
rename from src/core/security/credentials_metadata.c
rename to src/core/lib/security/credentials_metadata.c
index b8a132f..c3bfcb1 100644
--- a/src/core/security/credentials_metadata.c
+++ b/src/core/lib/security/credentials_metadata.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/security/credentials.h"
+#include "src/core/lib/security/credentials.h"
 
 #include <grpc/support/alloc.h>
 
diff --git a/src/core/security/credentials_posix.c b/src/core/lib/security/credentials_posix.c
similarity index 92%
rename from src/core/security/credentials_posix.c
rename to src/core/lib/security/credentials_posix.c
index 0c92bd4..b758cd0 100644
--- a/src/core/security/credentials_posix.c
+++ b/src/core/lib/security/credentials_posix.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -35,14 +35,14 @@
 
 #ifdef GPR_POSIX_FILE
 
-#include "src/core/security/credentials.h"
+#include "src/core/lib/security/credentials.h"
 
 #include <grpc/support/alloc.h>
 #include <grpc/support/log.h>
 #include <grpc/support/string_util.h>
 
-#include "src/core/support/env.h"
-#include "src/core/support/string.h"
+#include "src/core/lib/support/env.h"
+#include "src/core/lib/support/string.h"
 
 char *grpc_get_well_known_google_credentials_file_path_impl(void) {
   char *result = NULL;
diff --git a/src/core/security/credentials_win32.c b/src/core/lib/security/credentials_win32.c
similarity index 92%
rename from src/core/security/credentials_win32.c
rename to src/core/lib/security/credentials_win32.c
index 8ee9f70..a225ab0 100644
--- a/src/core/security/credentials_win32.c
+++ b/src/core/lib/security/credentials_win32.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -35,14 +35,14 @@
 
 #ifdef GPR_WIN32
 
-#include "src/core/security/credentials.h"
+#include "src/core/lib/security/credentials.h"
 
 #include <grpc/support/alloc.h>
 #include <grpc/support/log.h>
 #include <grpc/support/string_util.h>
 
-#include "src/core/support/env.h"
-#include "src/core/support/string.h"
+#include "src/core/lib/support/env.h"
+#include "src/core/lib/support/string.h"
 
 char *grpc_get_well_known_google_credentials_file_path_impl(void) {
   char *result = NULL;
diff --git a/src/core/security/google_default_credentials.c b/src/core/lib/security/google_default_credentials.c
similarity index 97%
rename from src/core/security/google_default_credentials.c
rename to src/core/lib/security/google_default_credentials.c
index 3872e86..5c34228 100644
--- a/src/core/security/google_default_credentials.c
+++ b/src/core/lib/security/google_default_credentials.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/security/credentials.h"
+#include "src/core/lib/security/credentials.h"
 
 #include <string.h>
 
@@ -39,11 +39,11 @@
 #include <grpc/support/log.h>
 #include <grpc/support/sync.h>
 
-#include "src/core/http/httpcli.h"
-#include "src/core/http/parser.h"
-#include "src/core/support/env.h"
-#include "src/core/support/load_file.h"
-#include "src/core/surface/api_trace.h"
+#include "src/core/lib/http/httpcli.h"
+#include "src/core/lib/http/parser.h"
+#include "src/core/lib/support/env.h"
+#include "src/core/lib/support/load_file.h"
+#include "src/core/lib/surface/api_trace.h"
 
 /* -- Constants. -- */
 
diff --git a/src/core/security/handshake.c b/src/core/lib/security/handshake.c
similarity index 98%
rename from src/core/security/handshake.c
rename to src/core/lib/security/handshake.c
index 9fb10a0..adb6d7f 100644
--- a/src/core/security/handshake.c
+++ b/src/core/lib/security/handshake.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/security/handshake.h"
+#include "src/core/lib/security/handshake.h"
 
 #include <stdbool.h>
 #include <string.h>
@@ -39,8 +39,8 @@
 #include <grpc/support/alloc.h>
 #include <grpc/support/log.h>
 #include <grpc/support/slice_buffer.h>
-#include "src/core/security/secure_endpoint.h"
-#include "src/core/security/security_context.h"
+#include "src/core/lib/security/secure_endpoint.h"
+#include "src/core/lib/security/security_context.h"
 
 #define GRPC_INITIAL_HANDSHAKE_BUFFER_SIZE 256
 
diff --git a/src/core/security/handshake.h b/src/core/lib/security/handshake.h
similarity index 90%
rename from src/core/security/handshake.h
rename to src/core/lib/security/handshake.h
index 4872045..b5d7bb3 100644
--- a/src/core/security/handshake.h
+++ b/src/core/lib/security/handshake.h
@@ -31,11 +31,11 @@
  *
  */
 
-#ifndef GRPC_CORE_SECURITY_HANDSHAKE_H
-#define GRPC_CORE_SECURITY_HANDSHAKE_H
+#ifndef GRPC_CORE_LIB_SECURITY_HANDSHAKE_H
+#define GRPC_CORE_LIB_SECURITY_HANDSHAKE_H
 
-#include "src/core/iomgr/endpoint.h"
-#include "src/core/security/security_connector.h"
+#include "src/core/lib/iomgr/endpoint.h"
+#include "src/core/lib/security/security_connector.h"
 
 /* Calls the callback upon completion. Takes owership of handshaker. */
 void grpc_do_security_handshake(grpc_exec_ctx *exec_ctx,
@@ -48,4 +48,4 @@
 
 void grpc_security_handshake_shutdown(grpc_exec_ctx *exec_ctx, void *handshake);
 
-#endif /* GRPC_CORE_SECURITY_HANDSHAKE_H */
+#endif /* GRPC_CORE_LIB_SECURITY_HANDSHAKE_H */
diff --git a/src/core/security/json_token.c b/src/core/lib/security/json_token.c
similarity index 98%
rename from src/core/security/json_token.c
rename to src/core/lib/security/json_token.c
index 372e5bf..9705428 100644
--- a/src/core/security/json_token.c
+++ b/src/core/lib/security/json_token.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/security/json_token.h"
+#include "src/core/lib/security/json_token.h"
 
 #include <string.h>
 
@@ -39,8 +39,8 @@
 #include <grpc/support/log.h>
 #include <grpc/support/string_util.h>
 
-#include "src/core/security/b64.h"
-#include "src/core/support/string.h"
+#include "src/core/lib/security/b64.h"
+#include "src/core/lib/support/string.h"
 
 #include <openssl/bio.h>
 #include <openssl/evp.h>
diff --git a/src/core/security/json_token.h b/src/core/lib/security/json_token.h
similarity index 95%
rename from src/core/security/json_token.h
rename to src/core/lib/security/json_token.h
index d183f9b..376fb03 100644
--- a/src/core/security/json_token.h
+++ b/src/core/lib/security/json_token.h
@@ -31,13 +31,13 @@
  *
  */
 
-#ifndef GRPC_CORE_SECURITY_JSON_TOKEN_H
-#define GRPC_CORE_SECURITY_JSON_TOKEN_H
+#ifndef GRPC_CORE_LIB_SECURITY_JSON_TOKEN_H
+#define GRPC_CORE_LIB_SECURITY_JSON_TOKEN_H
 
 #include <grpc/support/slice.h>
 #include <openssl/rsa.h>
 
-#include "src/core/json/json.h"
+#include "src/core/lib/json/json.h"
 
 /* --- Constants. --- */
 
@@ -115,4 +115,4 @@
 /* Destructs the object. */
 void grpc_auth_refresh_token_destruct(grpc_auth_refresh_token *refresh_token);
 
-#endif /* GRPC_CORE_SECURITY_JSON_TOKEN_H */
+#endif /* GRPC_CORE_LIB_SECURITY_JSON_TOKEN_H */
diff --git a/src/core/security/jwt_verifier.c b/src/core/lib/security/jwt_verifier.c
similarity index 99%
rename from src/core/security/jwt_verifier.c
rename to src/core/lib/security/jwt_verifier.c
index 0bb8e05..460b92f 100644
--- a/src/core/security/jwt_verifier.c
+++ b/src/core/lib/security/jwt_verifier.c
@@ -31,14 +31,14 @@
  *
  */
 
-#include "src/core/security/jwt_verifier.h"
+#include "src/core/lib/security/jwt_verifier.h"
 
 #include <limits.h>
 #include <string.h>
 
-#include "src/core/http/httpcli.h"
-#include "src/core/security/b64.h"
-#include "src/core/tsi/ssl_types.h"
+#include "src/core/lib/http/httpcli.h"
+#include "src/core/lib/security/b64.h"
+#include "src/core/lib/tsi/ssl_types.h"
 
 #include <grpc/support/alloc.h>
 #include <grpc/support/log.h>
diff --git a/src/core/security/jwt_verifier.h b/src/core/lib/security/jwt_verifier.h
similarity index 95%
rename from src/core/security/jwt_verifier.h
rename to src/core/lib/security/jwt_verifier.h
index d898d21..28a9eff 100644
--- a/src/core/security/jwt_verifier.h
+++ b/src/core/lib/security/jwt_verifier.h
@@ -31,11 +31,11 @@
  *
  */
 
-#ifndef GRPC_CORE_SECURITY_JWT_VERIFIER_H
-#define GRPC_CORE_SECURITY_JWT_VERIFIER_H
+#ifndef GRPC_CORE_LIB_SECURITY_JWT_VERIFIER_H
+#define GRPC_CORE_LIB_SECURITY_JWT_VERIFIER_H
 
-#include "src/core/iomgr/pollset.h"
-#include "src/core/json/json.h"
+#include "src/core/lib/iomgr/pollset.h"
+#include "src/core/lib/json/json.h"
 
 #include <grpc/support/slice.h>
 #include <grpc/support/time.h>
@@ -133,4 +133,4 @@
 grpc_jwt_verifier_status grpc_jwt_claims_check(const grpc_jwt_claims *claims,
                                                const char *audience);
 
-#endif /* GRPC_CORE_SECURITY_JWT_VERIFIER_H */
+#endif /* GRPC_CORE_LIB_SECURITY_JWT_VERIFIER_H */
diff --git a/src/core/security/secure_endpoint.c b/src/core/lib/security/secure_endpoint.c
similarity index 98%
rename from src/core/security/secure_endpoint.c
rename to src/core/lib/security/secure_endpoint.c
index 58b081d..e233b08 100644
--- a/src/core/security/secure_endpoint.c
+++ b/src/core/lib/security/secure_endpoint.c
@@ -31,15 +31,15 @@
  *
  */
 
-#include "src/core/security/secure_endpoint.h"
+#include "src/core/lib/security/secure_endpoint.h"
 #include <grpc/support/alloc.h>
 #include <grpc/support/log.h>
 #include <grpc/support/slice.h>
 #include <grpc/support/slice_buffer.h>
 #include <grpc/support/sync.h>
-#include "src/core/debug/trace.h"
-#include "src/core/support/string.h"
-#include "src/core/tsi/transport_security_interface.h"
+#include "src/core/lib/debug/trace.h"
+#include "src/core/lib/support/string.h"
+#include "src/core/lib/tsi/transport_security_interface.h"
 
 #define STAGING_BUFFER_SIZE 8192
 
diff --git a/src/core/security/secure_endpoint.h b/src/core/lib/security/secure_endpoint.h
similarity index 90%
rename from src/core/security/secure_endpoint.h
rename to src/core/lib/security/secure_endpoint.h
index 7368f84..57bd160 100644
--- a/src/core/security/secure_endpoint.h
+++ b/src/core/lib/security/secure_endpoint.h
@@ -31,11 +31,11 @@
  *
  */
 
-#ifndef GRPC_CORE_SECURITY_SECURE_ENDPOINT_H
-#define GRPC_CORE_SECURITY_SECURE_ENDPOINT_H
+#ifndef GRPC_CORE_LIB_SECURITY_SECURE_ENDPOINT_H
+#define GRPC_CORE_LIB_SECURITY_SECURE_ENDPOINT_H
 
 #include <grpc/support/slice.h>
-#include "src/core/iomgr/endpoint.h"
+#include "src/core/lib/iomgr/endpoint.h"
 
 struct tsi_frame_protector;
 
@@ -46,4 +46,4 @@
     struct tsi_frame_protector *protector, grpc_endpoint *to_wrap,
     gpr_slice *leftover_slices, size_t leftover_nslices);
 
-#endif /* GRPC_CORE_SECURITY_SECURE_ENDPOINT_H */
+#endif /* GRPC_CORE_LIB_SECURITY_SECURE_ENDPOINT_H */
diff --git a/src/core/security/security_connector.c b/src/core/lib/security/security_connector.c
similarity index 98%
rename from src/core/security/security_connector.c
rename to src/core/lib/security/security_connector.c
index fbec263..5474bc3 100644
--- a/src/core/security/security_connector.c
+++ b/src/core/lib/security/security_connector.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/security/security_connector.h"
+#include "src/core/lib/security/security_connector.h"
 
 #include <stdbool.h>
 #include <string.h>
@@ -42,16 +42,16 @@
 #include <grpc/support/slice_buffer.h>
 #include <grpc/support/string_util.h>
 
-#include "src/core/security/credentials.h"
-#include "src/core/security/handshake.h"
-#include "src/core/security/secure_endpoint.h"
-#include "src/core/security/security_context.h"
-#include "src/core/support/env.h"
-#include "src/core/support/load_file.h"
-#include "src/core/support/string.h"
-#include "src/core/transport/chttp2/alpn.h"
-#include "src/core/tsi/fake_transport_security.h"
-#include "src/core/tsi/ssl_transport_security.h"
+#include "src/core/lib/security/credentials.h"
+#include "src/core/lib/security/handshake.h"
+#include "src/core/lib/security/secure_endpoint.h"
+#include "src/core/lib/security/security_context.h"
+#include "src/core/lib/support/env.h"
+#include "src/core/lib/support/load_file.h"
+#include "src/core/lib/support/string.h"
+#include "src/core/lib/transport/chttp2/alpn.h"
+#include "src/core/lib/tsi/fake_transport_security.h"
+#include "src/core/lib/tsi/ssl_transport_security.h"
 
 /* -- Constants. -- */
 
diff --git a/src/core/security/security_connector.h b/src/core/lib/security/security_connector.h
similarity index 97%
rename from src/core/security/security_connector.h
rename to src/core/lib/security/security_connector.h
index 6f915eb..d50091c 100644
--- a/src/core/security/security_connector.h
+++ b/src/core/lib/security/security_connector.h
@@ -31,13 +31,13 @@
  *
  */
 
-#ifndef GRPC_CORE_SECURITY_SECURITY_CONNECTOR_H
-#define GRPC_CORE_SECURITY_SECURITY_CONNECTOR_H
+#ifndef GRPC_CORE_LIB_SECURITY_SECURITY_CONNECTOR_H
+#define GRPC_CORE_LIB_SECURITY_SECURITY_CONNECTOR_H
 
 #include <grpc/grpc_security.h>
-#include "src/core/iomgr/endpoint.h"
-#include "src/core/iomgr/tcp_server.h"
-#include "src/core/tsi/transport_security_interface.h"
+#include "src/core/lib/iomgr/endpoint.h"
+#include "src/core/lib/iomgr/tcp_server.h"
+#include "src/core/lib/tsi/transport_security_interface.h"
 
 /* --- status enum. --- */
 
@@ -263,4 +263,4 @@
     const grpc_auth_context *auth_context);
 void tsi_shallow_peer_destruct(tsi_peer *peer);
 
-#endif /* GRPC_CORE_SECURITY_SECURITY_CONNECTOR_H */
+#endif /* GRPC_CORE_LIB_SECURITY_SECURITY_CONNECTOR_H */
diff --git a/src/core/security/security_context.c b/src/core/lib/security/security_context.c
similarity index 98%
rename from src/core/security/security_context.c
rename to src/core/lib/security/security_context.c
index f6afc0f..0e66373 100644
--- a/src/core/security/security_context.c
+++ b/src/core/lib/security/security_context.c
@@ -33,10 +33,10 @@
 
 #include <string.h>
 
-#include "src/core/security/security_context.h"
-#include "src/core/support/string.h"
-#include "src/core/surface/api_trace.h"
-#include "src/core/surface/call.h"
+#include "src/core/lib/security/security_context.h"
+#include "src/core/lib/support/string.h"
+#include "src/core/lib/surface/api_trace.h"
+#include "src/core/lib/surface/call.h"
 
 #include <grpc/grpc_security.h>
 #include <grpc/support/alloc.h>
diff --git a/src/core/security/security_context.h b/src/core/lib/security/security_context.h
similarity index 94%
rename from src/core/security/security_context.h
rename to src/core/lib/security/security_context.h
index 61601f5..e9e4e50 100644
--- a/src/core/security/security_context.h
+++ b/src/core/lib/security/security_context.h
@@ -31,11 +31,11 @@
  *
  */
 
-#ifndef GRPC_CORE_SECURITY_SECURITY_CONTEXT_H
-#define GRPC_CORE_SECURITY_SECURITY_CONTEXT_H
+#ifndef GRPC_CORE_LIB_SECURITY_SECURITY_CONTEXT_H
+#define GRPC_CORE_LIB_SECURITY_SECURITY_CONTEXT_H
 
-#include "src/core/iomgr/pollset.h"
-#include "src/core/security/credentials.h"
+#include "src/core/lib/iomgr/pollset.h"
+#include "src/core/lib/security/credentials.h"
 
 /* --- grpc_auth_context ---
 
@@ -111,4 +111,4 @@
 grpc_auth_context *grpc_find_auth_context_in_args(
     const grpc_channel_args *args);
 
-#endif /* GRPC_CORE_SECURITY_SECURITY_CONTEXT_H */
+#endif /* GRPC_CORE_LIB_SECURITY_SECURITY_CONTEXT_H */
diff --git a/src/core/security/server_auth_filter.c b/src/core/lib/security/server_auth_filter.c
similarity index 98%
rename from src/core/security/server_auth_filter.c
rename to src/core/lib/security/server_auth_filter.c
index f3c411d..158cde0 100644
--- a/src/core/security/server_auth_filter.c
+++ b/src/core/lib/security/server_auth_filter.c
@@ -33,9 +33,9 @@
 
 #include <string.h>
 
-#include "src/core/security/auth_filters.h"
-#include "src/core/security/credentials.h"
-#include "src/core/security/security_context.h"
+#include "src/core/lib/security/auth_filters.h"
+#include "src/core/lib/security/credentials.h"
+#include "src/core/lib/security/security_context.h"
 
 #include <grpc/support/alloc.h>
 #include <grpc/support/log.h>
diff --git a/src/core/security/server_secure_chttp2.c b/src/core/lib/security/server_secure_chttp2.c
similarity index 93%
rename from src/core/security/server_secure_chttp2.c
rename to src/core/lib/security/server_secure_chttp2.c
index da29ca9..7c9dd22 100644
--- a/src/core/security/server_secure_chttp2.c
+++ b/src/core/lib/security/server_secure_chttp2.c
@@ -39,18 +39,18 @@
 #include <grpc/support/log.h>
 #include <grpc/support/sync.h>
 #include <grpc/support/useful.h>
-#include "src/core/channel/channel_args.h"
-#include "src/core/channel/http_server_filter.h"
-#include "src/core/iomgr/endpoint.h"
-#include "src/core/iomgr/resolve_address.h"
-#include "src/core/iomgr/tcp_server.h"
-#include "src/core/security/auth_filters.h"
-#include "src/core/security/credentials.h"
-#include "src/core/security/security_connector.h"
-#include "src/core/security/security_context.h"
-#include "src/core/surface/api_trace.h"
-#include "src/core/surface/server.h"
-#include "src/core/transport/chttp2_transport.h"
+#include "src/core/lib/channel/channel_args.h"
+#include "src/core/lib/channel/http_server_filter.h"
+#include "src/core/lib/iomgr/endpoint.h"
+#include "src/core/lib/iomgr/resolve_address.h"
+#include "src/core/lib/iomgr/tcp_server.h"
+#include "src/core/lib/security/auth_filters.h"
+#include "src/core/lib/security/credentials.h"
+#include "src/core/lib/security/security_connector.h"
+#include "src/core/lib/security/security_context.h"
+#include "src/core/lib/surface/api_trace.h"
+#include "src/core/lib/surface/server.h"
+#include "src/core/lib/transport/chttp2_transport.h"
 
 typedef struct grpc_server_secure_state {
   grpc_server *server;
diff --git a/src/core/statistics/census_init.c b/src/core/lib/statistics/census_init.c
similarity index 91%
rename from src/core/statistics/census_init.c
rename to src/core/lib/statistics/census_init.c
index b6a962f..bbecd62 100644
--- a/src/core/statistics/census_init.c
+++ b/src/core/lib/statistics/census_init.c
@@ -31,11 +31,11 @@
  *
  */
 
-#include "src/core/statistics/census_interface.h"
+#include "src/core/lib/statistics/census_interface.h"
 
 #include <grpc/support/log.h>
-#include "src/core/statistics/census_rpc_stats.h"
-#include "src/core/statistics/census_tracing.h"
+#include "src/core/lib/statistics/census_rpc_stats.h"
+#include "src/core/lib/statistics/census_tracing.h"
 
 void census_init(void) {
   census_tracing_init();
diff --git a/src/core/statistics/census_interface.h b/src/core/lib/statistics/census_interface.h
similarity index 94%
rename from src/core/statistics/census_interface.h
rename to src/core/lib/statistics/census_interface.h
index ce8ff92..b3b3439 100644
--- a/src/core/statistics/census_interface.h
+++ b/src/core/lib/statistics/census_interface.h
@@ -31,8 +31,8 @@
  *
  */
 
-#ifndef GRPC_CORE_STATISTICS_CENSUS_INTERFACE_H
-#define GRPC_CORE_STATISTICS_CENSUS_INTERFACE_H
+#ifndef GRPC_CORE_LIB_STATISTICS_CENSUS_INTERFACE_H
+#define GRPC_CORE_LIB_STATISTICS_CENSUS_INTERFACE_H
 
 #include <grpc/support/port_platform.h>
 
@@ -73,4 +73,4 @@
 /* Ends tracing. Calling this function will invalidate the input op_id. */
 void census_tracing_end_op(census_op_id op_id);
 
-#endif /* GRPC_CORE_STATISTICS_CENSUS_INTERFACE_H */
+#endif /* GRPC_CORE_LIB_STATISTICS_CENSUS_INTERFACE_H */
diff --git a/src/core/statistics/census_log.c b/src/core/lib/statistics/census_log.c
similarity index 99%
rename from src/core/statistics/census_log.c
rename to src/core/lib/statistics/census_log.c
index 3802d1c..1fb942a 100644
--- a/src/core/statistics/census_log.c
+++ b/src/core/lib/statistics/census_log.c
@@ -89,7 +89,7 @@
    include the name of the structure, which will be passed as the first
    argument. E.g. cl_block_initialize() will initialize a cl_block.
 */
-#include "src/core/statistics/census_log.h"
+#include "src/core/lib/statistics/census_log.h"
 #include <grpc/support/alloc.h>
 #include <grpc/support/atm.h>
 #include <grpc/support/cpu.h>
diff --git a/src/core/statistics/census_log.h b/src/core/lib/statistics/census_log.h
similarity index 96%
rename from src/core/statistics/census_log.h
rename to src/core/lib/statistics/census_log.h
index e7ce0d4..c3fbd55 100644
--- a/src/core/statistics/census_log.h
+++ b/src/core/lib/statistics/census_log.h
@@ -31,8 +31,8 @@
  *
  */
 
-#ifndef GRPC_CORE_STATISTICS_CENSUS_LOG_H
-#define GRPC_CORE_STATISTICS_CENSUS_LOG_H
+#ifndef GRPC_CORE_LIB_STATISTICS_CENSUS_LOG_H
+#define GRPC_CORE_LIB_STATISTICS_CENSUS_LOG_H
 
 #include <stddef.h>
 
@@ -88,4 +88,4 @@
    out-of-space. */
 int census_log_out_of_space_count(void);
 
-#endif /* GRPC_CORE_STATISTICS_CENSUS_LOG_H */
+#endif /* GRPC_CORE_LIB_STATISTICS_CENSUS_LOG_H */
diff --git a/src/core/statistics/census_rpc_stats.c b/src/core/lib/statistics/census_rpc_stats.c
similarity index 95%
rename from src/core/statistics/census_rpc_stats.c
rename to src/core/lib/statistics/census_rpc_stats.c
index c78d6fd..2182561 100644
--- a/src/core/statistics/census_rpc_stats.c
+++ b/src/core/lib/statistics/census_rpc_stats.c
@@ -36,13 +36,13 @@
 #include <grpc/support/alloc.h>
 #include <grpc/support/log.h>
 #include <grpc/support/sync.h>
-#include "src/core/statistics/census_interface.h"
-#include "src/core/statistics/census_rpc_stats.h"
-#include "src/core/statistics/census_tracing.h"
-#include "src/core/statistics/hash_table.h"
-#include "src/core/statistics/window_stats.h"
-#include "src/core/support/murmur_hash.h"
-#include "src/core/support/string.h"
+#include "src/core/lib/statistics/census_interface.h"
+#include "src/core/lib/statistics/census_rpc_stats.h"
+#include "src/core/lib/statistics/census_tracing.h"
+#include "src/core/lib/statistics/hash_table.h"
+#include "src/core/lib/statistics/window_stats.h"
+#include "src/core/lib/support/murmur_hash.h"
+#include "src/core/lib/support/string.h"
 
 #define NUM_INTERVALS 3
 #define MINUTE_INTERVAL 0
diff --git a/src/core/statistics/census_rpc_stats.h b/src/core/lib/statistics/census_rpc_stats.h
similarity index 94%
rename from src/core/statistics/census_rpc_stats.h
rename to src/core/lib/statistics/census_rpc_stats.h
index f7f220e..00bb482 100644
--- a/src/core/statistics/census_rpc_stats.h
+++ b/src/core/lib/statistics/census_rpc_stats.h
@@ -31,11 +31,11 @@
  *
  */
 
-#ifndef GRPC_CORE_STATISTICS_CENSUS_RPC_STATS_H
-#define GRPC_CORE_STATISTICS_CENSUS_RPC_STATS_H
+#ifndef GRPC_CORE_LIB_STATISTICS_CENSUS_RPC_STATS_H
+#define GRPC_CORE_LIB_STATISTICS_CENSUS_RPC_STATS_H
 
 #include <grpc/support/port_platform.h>
-#include "src/core/statistics/census_interface.h"
+#include "src/core/lib/statistics/census_interface.h"
 
 #ifdef __cplusplus
 extern "C" {
@@ -98,4 +98,4 @@
 }
 #endif
 
-#endif /* GRPC_CORE_STATISTICS_CENSUS_RPC_STATS_H */
+#endif /* GRPC_CORE_LIB_STATISTICS_CENSUS_RPC_STATS_H */
diff --git a/src/core/statistics/census_tracing.c b/src/core/lib/statistics/census_tracing.c
similarity index 97%
rename from src/core/statistics/census_tracing.c
rename to src/core/lib/statistics/census_tracing.c
index ad82498..b58ae73 100644
--- a/src/core/statistics/census_tracing.c
+++ b/src/core/lib/statistics/census_tracing.c
@@ -31,8 +31,8 @@
  *
  */
 
-#include "src/core/statistics/census_tracing.h"
-#include "src/core/statistics/census_interface.h"
+#include "src/core/lib/statistics/census_tracing.h"
+#include "src/core/lib/statistics/census_interface.h"
 
 #include <stdio.h>
 #include <string.h>
@@ -41,8 +41,8 @@
 #include <grpc/support/log.h>
 #include <grpc/support/port_platform.h>
 #include <grpc/support/sync.h>
-#include "src/core/statistics/hash_table.h"
-#include "src/core/support/string.h"
+#include "src/core/lib/statistics/hash_table.h"
+#include "src/core/lib/support/string.h"
 
 void census_trace_obj_destroy(census_trace_obj *obj) {
   census_trace_annotation *p = obj->annotations;
diff --git a/src/core/statistics/census_tracing.h b/src/core/lib/statistics/census_tracing.h
similarity index 94%
rename from src/core/statistics/census_tracing.h
rename to src/core/lib/statistics/census_tracing.h
index b611e95..a101abf 100644
--- a/src/core/statistics/census_tracing.h
+++ b/src/core/lib/statistics/census_tracing.h
@@ -31,11 +31,11 @@
  *
  */
 
-#ifndef GRPC_CORE_STATISTICS_CENSUS_TRACING_H
-#define GRPC_CORE_STATISTICS_CENSUS_TRACING_H
+#ifndef GRPC_CORE_LIB_STATISTICS_CENSUS_TRACING_H
+#define GRPC_CORE_LIB_STATISTICS_CENSUS_TRACING_H
 
 #include <grpc/support/time.h>
-#include "src/core/statistics/census_rpc_stats.h"
+#include "src/core/lib/statistics/census_rpc_stats.h"
 
 /* WARNING: The data structures and APIs provided by this file are for GRPC
    library's internal use ONLY. They might be changed in backward-incompatible
@@ -93,4 +93,4 @@
 }
 #endif
 
-#endif /* GRPC_CORE_STATISTICS_CENSUS_TRACING_H */
+#endif /* GRPC_CORE_LIB_STATISTICS_CENSUS_TRACING_H */
diff --git a/src/core/statistics/hash_table.c b/src/core/lib/statistics/hash_table.c
similarity index 99%
rename from src/core/statistics/hash_table.c
rename to src/core/lib/statistics/hash_table.c
index 3ef79c0..18b7442 100644
--- a/src/core/statistics/hash_table.c
+++ b/src/core/lib/statistics/hash_table.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/statistics/hash_table.h"
+#include "src/core/lib/statistics/hash_table.h"
 
 #include <stddef.h>
 #include <stdio.h>
diff --git a/src/core/statistics/hash_table.h b/src/core/lib/statistics/hash_table.h
similarity index 97%
rename from src/core/statistics/hash_table.h
rename to src/core/lib/statistics/hash_table.h
index f4bf2ba..8f74ec8 100644
--- a/src/core/statistics/hash_table.h
+++ b/src/core/lib/statistics/hash_table.h
@@ -31,8 +31,8 @@
  *
  */
 
-#ifndef GRPC_CORE_STATISTICS_HASH_TABLE_H
-#define GRPC_CORE_STATISTICS_HASH_TABLE_H
+#ifndef GRPC_CORE_LIB_STATISTICS_HASH_TABLE_H
+#define GRPC_CORE_LIB_STATISTICS_HASH_TABLE_H
 
 #include <stddef.h>
 
@@ -128,4 +128,4 @@
    should not invalidate data entries. */
 uint64_t census_ht_for_all(const census_ht *ht, census_ht_itr_cb);
 
-#endif /* GRPC_CORE_STATISTICS_HASH_TABLE_H */
+#endif /* GRPC_CORE_LIB_STATISTICS_HASH_TABLE_H */
diff --git a/src/core/statistics/window_stats.c b/src/core/lib/statistics/window_stats.c
similarity index 99%
rename from src/core/statistics/window_stats.c
rename to src/core/lib/statistics/window_stats.c
index eb29686..53427a2 100644
--- a/src/core/statistics/window_stats.c
+++ b/src/core/lib/statistics/window_stats.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/statistics/window_stats.h"
+#include "src/core/lib/statistics/window_stats.h"
 #include <grpc/support/alloc.h>
 #include <grpc/support/log.h>
 #include <grpc/support/time.h>
diff --git a/src/core/statistics/window_stats.h b/src/core/lib/statistics/window_stats.h
similarity index 97%
rename from src/core/statistics/window_stats.h
rename to src/core/lib/statistics/window_stats.h
index 7742771..8dec50d 100644
--- a/src/core/statistics/window_stats.h
+++ b/src/core/lib/statistics/window_stats.h
@@ -31,8 +31,8 @@
  *
  */
 
-#ifndef GRPC_CORE_STATISTICS_WINDOW_STATS_H
-#define GRPC_CORE_STATISTICS_WINDOW_STATS_H
+#ifndef GRPC_CORE_LIB_STATISTICS_WINDOW_STATS_H
+#define GRPC_CORE_LIB_STATISTICS_WINDOW_STATS_H
 
 #include <grpc/support/time.h>
 
@@ -170,4 +170,4 @@
    assertion failure). This function is thread-compatible. */
 void census_window_stats_destroy(struct census_window_stats *wstats);
 
-#endif /* GRPC_CORE_STATISTICS_WINDOW_STATS_H */
+#endif /* GRPC_CORE_LIB_STATISTICS_WINDOW_STATS_H */
diff --git a/src/core/support/alloc.c b/src/core/lib/support/alloc.c
similarity index 98%
rename from src/core/support/alloc.c
rename to src/core/lib/support/alloc.c
index fd9fb8f..27fa6a9 100644
--- a/src/core/support/alloc.c
+++ b/src/core/lib/support/alloc.c
@@ -36,7 +36,7 @@
 #include <grpc/support/log.h>
 #include <grpc/support/port_platform.h>
 #include <stdlib.h>
-#include "src/core/profiling/timers.h"
+#include "src/core/lib/profiling/timers.h"
 
 static gpr_allocation_functions g_alloc_functions = {malloc, realloc, free};
 
diff --git a/src/core/support/avl.c b/src/core/lib/support/avl.c
similarity index 100%
rename from src/core/support/avl.c
rename to src/core/lib/support/avl.c
diff --git a/src/core/support/backoff.c b/src/core/lib/support/backoff.c
similarity index 98%
rename from src/core/support/backoff.c
rename to src/core/lib/support/backoff.c
index 4ccfb77..e89ef47 100644
--- a/src/core/support/backoff.c
+++ b/src/core/lib/support/backoff.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/support/backoff.h"
+#include "src/core/lib/support/backoff.h"
 
 #include <grpc/support/useful.h>
 
diff --git a/src/core/support/backoff.h b/src/core/lib/support/backoff.h
similarity index 95%
rename from src/core/support/backoff.h
rename to src/core/lib/support/backoff.h
index 0f933c3..6d40c15 100644
--- a/src/core/support/backoff.h
+++ b/src/core/lib/support/backoff.h
@@ -31,8 +31,8 @@
  *
  */
 
-#ifndef GRPC_CORE_SUPPORT_BACKOFF_H
-#define GRPC_CORE_SUPPORT_BACKOFF_H
+#ifndef GRPC_CORE_LIB_SUPPORT_BACKOFF_H
+#define GRPC_CORE_LIB_SUPPORT_BACKOFF_H
 
 #include <grpc/support/time.h>
 
@@ -65,4 +65,4 @@
 /// instead
 void gpr_backoff_reset(gpr_backoff *backoff);
 
-#endif /* GRPC_CORE_SUPPORT_BACKOFF_H */
+#endif /* GRPC_CORE_LIB_SUPPORT_BACKOFF_H */
diff --git a/src/core/support/block_annotate.h b/src/core/lib/support/block_annotate.h
similarity index 92%
rename from src/core/support/block_annotate.h
rename to src/core/lib/support/block_annotate.h
index 79a1803..bd30716 100644
--- a/src/core/support/block_annotate.h
+++ b/src/core/lib/support/block_annotate.h
@@ -31,8 +31,8 @@
  *
  */
 
-#ifndef GRPC_CORE_SUPPORT_BLOCK_ANNOTATE_H
-#define GRPC_CORE_SUPPORT_BLOCK_ANNOTATE_H
+#ifndef GRPC_CORE_LIB_SUPPORT_BLOCK_ANNOTATE_H
+#define GRPC_CORE_LIB_SUPPORT_BLOCK_ANNOTATE_H
 
 /* These annotations identify the beginning and end of regions where
    the code may block for reasons other than synchronization functions.
@@ -45,4 +45,4 @@
   do {                                      \
   } while (0)
 
-#endif /* GRPC_CORE_SUPPORT_BLOCK_ANNOTATE_H */
+#endif /* GRPC_CORE_LIB_SUPPORT_BLOCK_ANNOTATE_H */
diff --git a/src/core/support/cmdline.c b/src/core/lib/support/cmdline.c
similarity index 99%
rename from src/core/support/cmdline.c
rename to src/core/lib/support/cmdline.c
index eff46a1..35c4990 100644
--- a/src/core/support/cmdline.c
+++ b/src/core/lib/support/cmdline.c
@@ -40,7 +40,7 @@
 #include <grpc/support/alloc.h>
 #include <grpc/support/log.h>
 #include <grpc/support/string_util.h>
-#include "src/core/support/string.h"
+#include "src/core/lib/support/string.h"
 
 typedef enum { ARGTYPE_INT, ARGTYPE_BOOL, ARGTYPE_STRING } argtype;
 
diff --git a/src/core/support/cpu_iphone.c b/src/core/lib/support/cpu_iphone.c
similarity index 98%
rename from src/core/support/cpu_iphone.c
rename to src/core/lib/support/cpu_iphone.c
index 82b49b4..e83191b 100644
--- a/src/core/support/cpu_iphone.c
+++ b/src/core/lib/support/cpu_iphone.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/src/core/support/cpu_linux.c b/src/core/lib/support/cpu_linux.c
similarity index 100%
rename from src/core/support/cpu_linux.c
rename to src/core/lib/support/cpu_linux.c
diff --git a/src/core/support/cpu_posix.c b/src/core/lib/support/cpu_posix.c
similarity index 100%
rename from src/core/support/cpu_posix.c
rename to src/core/lib/support/cpu_posix.c
diff --git a/src/core/support/cpu_windows.c b/src/core/lib/support/cpu_windows.c
similarity index 97%
rename from src/core/support/cpu_windows.c
rename to src/core/lib/support/cpu_windows.c
index ce32eb0..0f84a9e 100644
--- a/src/core/support/cpu_windows.c
+++ b/src/core/lib/support/cpu_windows.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/src/core/support/env.h b/src/core/lib/support/env.h
similarity index 94%
rename from src/core/support/env.h
rename to src/core/lib/support/env.h
index 2902456..ddc4ee3 100644
--- a/src/core/support/env.h
+++ b/src/core/lib/support/env.h
@@ -31,8 +31,8 @@
  *
  */
 
-#ifndef GRPC_CORE_SUPPORT_ENV_H
-#define GRPC_CORE_SUPPORT_ENV_H
+#ifndef GRPC_CORE_LIB_SUPPORT_ENV_H
+#define GRPC_CORE_LIB_SUPPORT_ENV_H
 
 #include <stdio.h>
 
@@ -57,4 +57,4 @@
 }
 #endif
 
-#endif /* GRPC_CORE_SUPPORT_ENV_H */
+#endif /* GRPC_CORE_LIB_SUPPORT_ENV_H */
diff --git a/src/core/support/env_linux.c b/src/core/lib/support/env_linux.c
similarity index 97%
rename from src/core/support/env_linux.c
rename to src/core/lib/support/env_linux.c
index fe51f84..a86133e 100644
--- a/src/core/support/env_linux.c
+++ b/src/core/lib/support/env_linux.c
@@ -40,7 +40,7 @@
 
 #ifdef GPR_LINUX_ENV
 
-#include "src/core/support/env.h"
+#include "src/core/lib/support/env.h"
 
 #include <dlfcn.h>
 #include <features.h>
@@ -51,7 +51,7 @@
 #include <grpc/support/string_util.h>
 #include <grpc/support/useful.h>
 
-#include "src/core/support/string.h"
+#include "src/core/lib/support/string.h"
 
 char *gpr_getenv(const char *name) {
 #if defined(GPR_BACKWARDS_COMPATIBILITY_MODE)
diff --git a/src/core/support/env_posix.c b/src/core/lib/support/env_posix.c
similarity index 95%
rename from src/core/support/env_posix.c
rename to src/core/lib/support/env_posix.c
index 256212b..1b57b09 100644
--- a/src/core/support/env_posix.c
+++ b/src/core/lib/support/env_posix.c
@@ -35,14 +35,14 @@
 
 #ifdef GPR_POSIX_ENV
 
-#include "src/core/support/env.h"
+#include "src/core/lib/support/env.h"
 
 #include <stdlib.h>
 
 #include <grpc/support/log.h>
 
 #include <grpc/support/string_util.h>
-#include "src/core/support/string.h"
+#include "src/core/lib/support/string.h"
 
 char *gpr_getenv(const char *name) {
   char *result = getenv(name);
diff --git a/src/core/support/env_win32.c b/src/core/lib/support/env_win32.c
similarity index 96%
rename from src/core/support/env_win32.c
rename to src/core/lib/support/env_win32.c
index 1025828..566feee 100644
--- a/src/core/support/env_win32.c
+++ b/src/core/lib/support/env_win32.c
@@ -35,8 +35,8 @@
 
 #ifdef GPR_WIN32
 
-#include "src/core/support/env.h"
-#include "src/core/support/string.h"
+#include "src/core/lib/support/env.h"
+#include "src/core/lib/support/string.h"
 
 #ifdef __MINGW32__
 errno_t getenv_s(size_t *size_needed, char *buffer, size_t size,
diff --git a/src/core/support/histogram.c b/src/core/lib/support/histogram.c
similarity index 100%
rename from src/core/support/histogram.c
rename to src/core/lib/support/histogram.c
diff --git a/src/core/support/host_port.c b/src/core/lib/support/host_port.c
similarity index 98%
rename from src/core/support/host_port.c
rename to src/core/lib/support/host_port.c
index 31243a7..e03f624 100644
--- a/src/core/support/host_port.c
+++ b/src/core/lib/support/host_port.c
@@ -38,7 +38,7 @@
 #include <grpc/support/alloc.h>
 #include <grpc/support/log.h>
 #include <grpc/support/string_util.h>
-#include "src/core/support/string.h"
+#include "src/core/lib/support/string.h"
 
 int gpr_join_host_port(char **out, const char *host, int port) {
   if (host[0] != '[' && strchr(host, ':') != NULL) {
diff --git a/src/core/support/load_file.c b/src/core/lib/support/load_file.c
similarity index 95%
rename from src/core/support/load_file.c
rename to src/core/lib/support/load_file.c
index 650bd62..0cecd5e 100644
--- a/src/core/support/load_file.c
+++ b/src/core/lib/support/load_file.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/support/load_file.h"
+#include "src/core/lib/support/load_file.h"
 
 #include <errno.h>
 #include <string.h>
@@ -40,8 +40,8 @@
 #include <grpc/support/log.h>
 #include <grpc/support/string_util.h>
 
-#include "src/core/support/block_annotate.h"
-#include "src/core/support/string.h"
+#include "src/core/lib/support/block_annotate.h"
+#include "src/core/lib/support/string.h"
 
 gpr_slice gpr_load_file(const char *filename, int add_null_terminator,
                         int *success) {
diff --git a/src/core/support/load_file.h b/src/core/lib/support/load_file.h
similarity index 93%
rename from src/core/support/load_file.h
rename to src/core/lib/support/load_file.h
index 5896654..fe030c9 100644
--- a/src/core/support/load_file.h
+++ b/src/core/lib/support/load_file.h
@@ -31,8 +31,8 @@
  *
  */
 
-#ifndef GRPC_CORE_SUPPORT_LOAD_FILE_H
-#define GRPC_CORE_SUPPORT_LOAD_FILE_H
+#ifndef GRPC_CORE_LIB_SUPPORT_LOAD_FILE_H
+#define GRPC_CORE_LIB_SUPPORT_LOAD_FILE_H
 
 #include <stdio.h>
 
@@ -52,4 +52,4 @@
 }
 #endif
 
-#endif /* GRPC_CORE_SUPPORT_LOAD_FILE_H */
+#endif /* GRPC_CORE_LIB_SUPPORT_LOAD_FILE_H */
diff --git a/src/core/support/log.c b/src/core/lib/support/log.c
similarity index 98%
rename from src/core/support/log.c
rename to src/core/lib/support/log.c
index 04156a5..cd6a072 100644
--- a/src/core/support/log.c
+++ b/src/core/lib/support/log.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/src/core/support/log_android.c b/src/core/lib/support/log_android.c
similarity index 100%
rename from src/core/support/log_android.c
rename to src/core/lib/support/log_android.c
diff --git a/src/core/support/log_linux.c b/src/core/lib/support/log_linux.c
similarity index 100%
rename from src/core/support/log_linux.c
rename to src/core/lib/support/log_linux.c
diff --git a/src/core/support/log_posix.c b/src/core/lib/support/log_posix.c
similarity index 100%
rename from src/core/support/log_posix.c
rename to src/core/lib/support/log_posix.c
diff --git a/src/core/support/log_win32.c b/src/core/lib/support/log_win32.c
similarity index 97%
rename from src/core/support/log_win32.c
rename to src/core/lib/support/log_win32.c
index 89ec091..cec9944 100644
--- a/src/core/support/log_win32.c
+++ b/src/core/lib/support/log_win32.c
@@ -44,8 +44,8 @@
 #include <grpc/support/string_util.h>
 #include <grpc/support/time.h>
 
-#include "src/core/support/string.h"
-#include "src/core/support/string_win32.h"
+#include "src/core/lib/support/string.h"
+#include "src/core/lib/support/string_win32.h"
 
 void gpr_log(const char *file, int line, gpr_log_severity severity,
              const char *format, ...) {
diff --git a/src/core/support/murmur_hash.c b/src/core/lib/support/murmur_hash.c
similarity index 96%
rename from src/core/support/murmur_hash.c
rename to src/core/lib/support/murmur_hash.c
index a5261c0..97832f1 100644
--- a/src/core/support/murmur_hash.c
+++ b/src/core/lib/support/murmur_hash.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/support/murmur_hash.h"
+#include "src/core/lib/support/murmur_hash.h"
 
 #define ROTL32(x, r) ((x) << (r)) | ((x) >> (32 - (r)))
 
diff --git a/src/core/support/murmur_hash.h b/src/core/lib/support/murmur_hash.h
similarity index 92%
rename from src/core/support/murmur_hash.h
rename to src/core/lib/support/murmur_hash.h
index 0f0b399..e54cdf2 100644
--- a/src/core/support/murmur_hash.h
+++ b/src/core/lib/support/murmur_hash.h
@@ -31,8 +31,8 @@
  *
  */
 
-#ifndef GRPC_CORE_SUPPORT_MURMUR_HASH_H
-#define GRPC_CORE_SUPPORT_MURMUR_HASH_H
+#ifndef GRPC_CORE_LIB_SUPPORT_MURMUR_HASH_H
+#define GRPC_CORE_LIB_SUPPORT_MURMUR_HASH_H
 
 #include <grpc/support/port_platform.h>
 
@@ -41,4 +41,4 @@
 /* compute the hash of key (length len) */
 uint32_t gpr_murmur_hash3(const void *key, size_t len, uint32_t seed);
 
-#endif /* GRPC_CORE_SUPPORT_MURMUR_HASH_H */
+#endif /* GRPC_CORE_LIB_SUPPORT_MURMUR_HASH_H */
diff --git a/src/core/support/slice.c b/src/core/lib/support/slice.c
similarity index 99%
rename from src/core/support/slice.c
rename to src/core/lib/support/slice.c
index b9a7c77..cf3953c 100644
--- a/src/core/support/slice.c
+++ b/src/core/lib/support/slice.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/src/core/support/slice_buffer.c b/src/core/lib/support/slice_buffer.c
similarity index 99%
rename from src/core/support/slice_buffer.c
rename to src/core/lib/support/slice_buffer.c
index 66f111d..563e659 100644
--- a/src/core/support/slice_buffer.c
+++ b/src/core/lib/support/slice_buffer.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/src/core/support/stack_lockfree.c b/src/core/lib/support/stack_lockfree.c
similarity index 98%
rename from src/core/support/stack_lockfree.c
rename to src/core/lib/support/stack_lockfree.c
index 8e0bbfa..de80486 100644
--- a/src/core/support/stack_lockfree.c
+++ b/src/core/lib/support/stack_lockfree.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/support/stack_lockfree.h"
+#include "src/core/lib/support/stack_lockfree.h"
 
 #include <stdlib.h>
 #include <string.h>
diff --git a/src/core/support/stack_lockfree.h b/src/core/lib/support/stack_lockfree.h
similarity index 93%
rename from src/core/support/stack_lockfree.h
rename to src/core/lib/support/stack_lockfree.h
index d6fd06d..a030a01 100644
--- a/src/core/support/stack_lockfree.h
+++ b/src/core/lib/support/stack_lockfree.h
@@ -31,8 +31,8 @@
  *
  */
 
-#ifndef GRPC_CORE_SUPPORT_STACK_LOCKFREE_H
-#define GRPC_CORE_SUPPORT_STACK_LOCKFREE_H
+#ifndef GRPC_CORE_LIB_SUPPORT_STACK_LOCKFREE_H
+#define GRPC_CORE_LIB_SUPPORT_STACK_LOCKFREE_H
 
 #include <stddef.h>
 
@@ -50,4 +50,4 @@
 /* Returns -1 on empty or the actual entry number */
 int gpr_stack_lockfree_pop(gpr_stack_lockfree *stack);
 
-#endif /* GRPC_CORE_SUPPORT_STACK_LOCKFREE_H */
+#endif /* GRPC_CORE_LIB_SUPPORT_STACK_LOCKFREE_H */
diff --git a/src/core/support/string.c b/src/core/lib/support/string.c
similarity index 98%
rename from src/core/support/string.c
rename to src/core/lib/support/string.c
index 1f541de..365d861 100644
--- a/src/core/support/string.c
+++ b/src/core/lib/support/string.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/support/string.h"
+#include "src/core/lib/support/string.h"
 
 #include <ctype.h>
 #include <stddef.h>
diff --git a/src/core/support/string.h b/src/core/lib/support/string.h
similarity index 97%
rename from src/core/support/string.h
rename to src/core/lib/support/string.h
index 8ff1688..68c0287 100644
--- a/src/core/support/string.h
+++ b/src/core/lib/support/string.h
@@ -31,8 +31,8 @@
  *
  */
 
-#ifndef GRPC_CORE_SUPPORT_STRING_H
-#define GRPC_CORE_SUPPORT_STRING_H
+#ifndef GRPC_CORE_LIB_SUPPORT_STRING_H
+#define GRPC_CORE_LIB_SUPPORT_STRING_H
 
 #include <stddef.h>
 
@@ -118,4 +118,4 @@
 }
 #endif
 
-#endif /* GRPC_CORE_SUPPORT_STRING_H */
+#endif /* GRPC_CORE_LIB_SUPPORT_STRING_H */
diff --git a/src/core/support/string_posix.c b/src/core/lib/support/string_posix.c
similarity index 100%
rename from src/core/support/string_posix.c
rename to src/core/lib/support/string_posix.c
diff --git a/src/core/support/string_win32.c b/src/core/lib/support/string_win32.c
similarity index 98%
rename from src/core/support/string_win32.c
rename to src/core/lib/support/string_win32.c
index 0780907..16b7e37 100644
--- a/src/core/support/string_win32.c
+++ b/src/core/lib/support/string_win32.c
@@ -43,7 +43,7 @@
 
 #include <grpc/support/alloc.h>
 
-#include "src/core/support/string.h"
+#include "src/core/lib/support/string.h"
 
 int gpr_asprintf(char **strp, const char *format, ...) {
   va_list args;
diff --git a/src/core/support/string_win32.h b/src/core/lib/support/string_win32.h
similarity index 92%
rename from src/core/support/string_win32.h
rename to src/core/lib/support/string_win32.h
index c9ae8d9..f47d567 100644
--- a/src/core/support/string_win32.h
+++ b/src/core/lib/support/string_win32.h
@@ -31,8 +31,8 @@
  *
  */
 
-#ifndef GRPC_CORE_SUPPORT_STRING_WIN32_H
-#define GRPC_CORE_SUPPORT_STRING_WIN32_H
+#ifndef GRPC_CORE_LIB_SUPPORT_STRING_WIN32_H
+#define GRPC_CORE_LIB_SUPPORT_STRING_WIN32_H
 
 #include <grpc/support/port_platform.h>
 
@@ -44,4 +44,4 @@
 
 #endif /* GPR_WIN32 */
 
-#endif /* GRPC_CORE_SUPPORT_STRING_WIN32_H */
+#endif /* GRPC_CORE_LIB_SUPPORT_STRING_WIN32_H */
diff --git a/src/core/support/subprocess_posix.c b/src/core/lib/support/subprocess_posix.c
similarity index 100%
rename from src/core/support/subprocess_posix.c
rename to src/core/lib/support/subprocess_posix.c
diff --git a/src/core/support/subprocess_windows.c b/src/core/lib/support/subprocess_windows.c
similarity index 97%
rename from src/core/support/subprocess_windows.c
rename to src/core/lib/support/subprocess_windows.c
index 6afbefe..264306f 100644
--- a/src/core/support/subprocess_windows.c
+++ b/src/core/lib/support/subprocess_windows.c
@@ -42,8 +42,8 @@
 #include <grpc/support/alloc.h>
 #include <grpc/support/log.h>
 #include <grpc/support/subprocess.h>
-#include "src/core/support/string.h"
-#include "src/core/support/string_win32.h"
+#include "src/core/lib/support/string.h"
+#include "src/core/lib/support/string_win32.h"
 
 struct gpr_subprocess {
   PROCESS_INFORMATION pi;
diff --git a/src/core/support/sync.c b/src/core/lib/support/sync.c
similarity index 100%
rename from src/core/support/sync.c
rename to src/core/lib/support/sync.c
diff --git a/src/core/support/sync_posix.c b/src/core/lib/support/sync_posix.c
similarity index 98%
rename from src/core/support/sync_posix.c
rename to src/core/lib/support/sync_posix.c
index be4d0ac..a5e59db 100644
--- a/src/core/support/sync_posix.c
+++ b/src/core/lib/support/sync_posix.c
@@ -40,7 +40,7 @@
 #include <grpc/support/sync.h>
 #include <grpc/support/time.h>
 #include <time.h>
-#include "src/core/profiling/timers.h"
+#include "src/core/lib/profiling/timers.h"
 
 void gpr_mu_init(gpr_mu* mu) { GPR_ASSERT(pthread_mutex_init(mu, NULL) == 0); }
 
diff --git a/src/core/support/sync_win32.c b/src/core/lib/support/sync_win32.c
similarity index 100%
rename from src/core/support/sync_win32.c
rename to src/core/lib/support/sync_win32.c
diff --git a/src/core/support/thd.c b/src/core/lib/support/thd.c
similarity index 98%
rename from src/core/support/thd.c
rename to src/core/lib/support/thd.c
index 41daeb5..d59aace 100644
--- a/src/core/support/thd.c
+++ b/src/core/lib/support/thd.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/src/core/support/thd_internal.h b/src/core/lib/support/thd_internal.h
similarity index 91%
rename from src/core/support/thd_internal.h
rename to src/core/lib/support/thd_internal.h
index 33b904e..f269a32 100644
--- a/src/core/support/thd_internal.h
+++ b/src/core/lib/support/thd_internal.h
@@ -31,9 +31,9 @@
  *
  */
 
-#ifndef GRPC_CORE_SUPPORT_THD_INTERNAL_H
-#define GRPC_CORE_SUPPORT_THD_INTERNAL_H
+#ifndef GRPC_CORE_LIB_SUPPORT_THD_INTERNAL_H
+#define GRPC_CORE_LIB_SUPPORT_THD_INTERNAL_H
 
 /* Internal interfaces between modules within the gpr support library.  */
 
-#endif /* GRPC_CORE_SUPPORT_THD_INTERNAL_H */
+#endif /* GRPC_CORE_LIB_SUPPORT_THD_INTERNAL_H */
diff --git a/src/core/support/thd_posix.c b/src/core/lib/support/thd_posix.c
similarity index 100%
rename from src/core/support/thd_posix.c
rename to src/core/lib/support/thd_posix.c
diff --git a/src/core/support/thd_win32.c b/src/core/lib/support/thd_win32.c
similarity index 100%
rename from src/core/support/thd_win32.c
rename to src/core/lib/support/thd_win32.c
diff --git a/src/core/support/time.c b/src/core/lib/support/time.c
similarity index 100%
rename from src/core/support/time.c
rename to src/core/lib/support/time.c
diff --git a/src/core/support/time_posix.c b/src/core/lib/support/time_posix.c
similarity index 97%
rename from src/core/support/time_posix.c
rename to src/core/lib/support/time_posix.c
index f999e08..fcfab2f 100644
--- a/src/core/support/time_posix.c
+++ b/src/core/lib/support/time_posix.c
@@ -32,7 +32,7 @@
  */
 
 #include <grpc/support/port_platform.h>
-#include <src/core/support/time_precise.h>
+#include "src/core/lib/support/time_precise.h"
 
 #ifdef GPR_POSIX_TIME
 
@@ -44,7 +44,7 @@
 #endif
 #include <grpc/support/log.h>
 #include <grpc/support/time.h>
-#include "src/core/support/block_annotate.h"
+#include "src/core/lib/support/block_annotate.h"
 
 static struct timespec timespec_from_gpr(gpr_timespec gts) {
   struct timespec rv;
diff --git a/src/core/support/time_precise.c b/src/core/lib/support/time_precise.c
similarity index 98%
rename from src/core/support/time_precise.c
rename to src/core/lib/support/time_precise.c
index a2cf74b..31ac47e 100644
--- a/src/core/support/time_precise.c
+++ b/src/core/lib/support/time_precise.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/src/core/support/time_precise.h b/src/core/lib/support/time_precise.h
similarity index 92%
rename from src/core/support/time_precise.h
rename to src/core/lib/support/time_precise.h
index 871c99a..e1faee1 100644
--- a/src/core/support/time_precise.h
+++ b/src/core/lib/support/time_precise.h
@@ -31,12 +31,12 @@
  *
  */
 
-#ifndef GRPC_CORE_SUPPORT_TIME_PRECISE_H
-#define GRPC_CORE_SUPPORT_TIME_PRECISE_H
+#ifndef GRPC_CORE_LIB_SUPPORT_TIME_PRECISE_H
+#define GRPC_CORE_LIB_SUPPORT_TIME_PRECISE_H
 
 #include <grpc/support/time.h>
 
 void gpr_precise_clock_init(void);
 void gpr_precise_clock_now(gpr_timespec *clk);
 
-#endif /* GRPC_CORE_SUPPORT_TIME_PRECISE_H */
+#endif /* GRPC_CORE_LIB_SUPPORT_TIME_PRECISE_H */
diff --git a/src/core/support/time_win32.c b/src/core/lib/support/time_win32.c
similarity index 97%
rename from src/core/support/time_win32.c
rename to src/core/lib/support/time_win32.c
index 2c344d3..a6ac003 100644
--- a/src/core/support/time_win32.c
+++ b/src/core/lib/support/time_win32.c
@@ -41,10 +41,10 @@
 #include <grpc/support/time.h>
 #include <limits.h>
 #include <process.h>
-#include <src/core/support/time_precise.h>
 #include <sys/timeb.h>
 
-#include "src/core/support/block_annotate.h"
+#include "src/core/lib/support/block_annotate.h"
+#include "src/core/lib/support/time_precise.h"
 
 static LARGE_INTEGER g_start_time;
 static double g_time_scale;
diff --git a/src/core/support/tls_pthread.c b/src/core/lib/support/tls_pthread.c
similarity index 97%
rename from src/core/support/tls_pthread.c
rename to src/core/lib/support/tls_pthread.c
index 9683a6e..bdc7ed1 100644
--- a/src/core/support/tls_pthread.c
+++ b/src/core/lib/support/tls_pthread.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/src/core/support/tmpfile.h b/src/core/lib/support/tmpfile.h
similarity index 93%
rename from src/core/support/tmpfile.h
rename to src/core/lib/support/tmpfile.h
index df6f869..4fec207 100644
--- a/src/core/support/tmpfile.h
+++ b/src/core/lib/support/tmpfile.h
@@ -31,8 +31,8 @@
  *
  */
 
-#ifndef GRPC_CORE_SUPPORT_TMPFILE_H
-#define GRPC_CORE_SUPPORT_TMPFILE_H
+#ifndef GRPC_CORE_LIB_SUPPORT_TMPFILE_H
+#define GRPC_CORE_LIB_SUPPORT_TMPFILE_H
 
 #include <stdio.h>
 
@@ -52,4 +52,4 @@
 }
 #endif
 
-#endif /* GRPC_CORE_SUPPORT_TMPFILE_H */
+#endif /* GRPC_CORE_LIB_SUPPORT_TMPFILE_H */
diff --git a/src/core/support/tmpfile_posix.c b/src/core/lib/support/tmpfile_posix.c
similarity index 96%
rename from src/core/support/tmpfile_posix.c
rename to src/core/lib/support/tmpfile_posix.c
index b16eeac..743f45e 100644
--- a/src/core/support/tmpfile_posix.c
+++ b/src/core/lib/support/tmpfile_posix.c
@@ -35,7 +35,7 @@
 
 #ifdef GPR_POSIX_FILE
 
-#include "src/core/support/tmpfile.h"
+#include "src/core/lib/support/tmpfile.h"
 
 #include <errno.h>
 #include <stdlib.h>
@@ -46,7 +46,7 @@
 #include <grpc/support/log.h>
 #include <grpc/support/string_util.h>
 
-#include "src/core/support/string.h"
+#include "src/core/lib/support/string.h"
 
 FILE *gpr_tmpfile(const char *prefix, char **tmp_filename) {
   FILE *result = NULL;
diff --git a/src/core/support/tmpfile_win32.c b/src/core/lib/support/tmpfile_win32.c
similarity index 96%
rename from src/core/support/tmpfile_win32.c
rename to src/core/lib/support/tmpfile_win32.c
index 3000f00..05d92b6 100644
--- a/src/core/support/tmpfile_win32.c
+++ b/src/core/lib/support/tmpfile_win32.c
@@ -44,8 +44,8 @@
 #include <grpc/support/log.h>
 #include <grpc/support/string_util.h>
 
-#include "src/core/support/string_win32.h"
-#include "src/core/support/tmpfile.h"
+#include "src/core/lib/support/string_win32.h"
+#include "src/core/lib/support/tmpfile.h"
 
 FILE *gpr_tmpfile(const char *prefix, char **tmp_filename_out) {
   FILE *result = NULL;
diff --git a/src/core/support/wrap_memcpy.c b/src/core/lib/support/wrap_memcpy.c
similarity index 100%
rename from src/core/support/wrap_memcpy.c
rename to src/core/lib/support/wrap_memcpy.c
diff --git a/src/core/surface/alarm.c b/src/core/lib/surface/alarm.c
similarity index 96%
rename from src/core/surface/alarm.c
rename to src/core/lib/surface/alarm.c
index 1085285..3686833 100644
--- a/src/core/surface/alarm.c
+++ b/src/core/lib/surface/alarm.c
@@ -33,8 +33,8 @@
 
 #include <grpc/grpc.h>
 #include <grpc/support/alloc.h>
-#include "src/core/iomgr/timer.h"
-#include "src/core/surface/completion_queue.h"
+#include "src/core/lib/iomgr/timer.h"
+#include "src/core/lib/surface/completion_queue.h"
 
 struct grpc_alarm {
   grpc_timer alarm;
diff --git a/src/core/surface/api_trace.c b/src/core/lib/surface/api_trace.c
similarity index 94%
rename from src/core/surface/api_trace.c
rename to src/core/lib/surface/api_trace.c
index 9f0b900..3702c02 100644
--- a/src/core/surface/api_trace.c
+++ b/src/core/lib/surface/api_trace.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,6 +31,6 @@
  *
  */
 
-#include "src/core/surface/api_trace.h"
+#include "src/core/lib/surface/api_trace.h"
 
 int grpc_api_trace = 0;
diff --git a/src/core/surface/api_trace.h b/src/core/lib/surface/api_trace.h
similarity index 93%
rename from src/core/surface/api_trace.h
rename to src/core/lib/surface/api_trace.h
index af53829..b50011c 100644
--- a/src/core/surface/api_trace.h
+++ b/src/core/lib/surface/api_trace.h
@@ -31,11 +31,11 @@
  *
  */
 
-#ifndef GRPC_CORE_SURFACE_API_TRACE_H
-#define GRPC_CORE_SURFACE_API_TRACE_H
+#ifndef GRPC_CORE_LIB_SURFACE_API_TRACE_H
+#define GRPC_CORE_LIB_SURFACE_API_TRACE_H
 
 #include <grpc/support/log.h>
-#include "src/core/debug/trace.h"
+#include "src/core/lib/debug/trace.h"
 
 extern int grpc_api_trace;
 
@@ -62,4 +62,4 @@
     gpr_log(GPR_INFO, fmt GRPC_API_TRACE_UNWRAP##nargs args); \
   }
 
-#endif /* GRPC_CORE_SURFACE_API_TRACE_H */
+#endif /* GRPC_CORE_LIB_SURFACE_API_TRACE_H */
diff --git a/src/core/surface/byte_buffer.c b/src/core/lib/surface/byte_buffer.c
similarity index 98%
rename from src/core/surface/byte_buffer.c
rename to src/core/lib/surface/byte_buffer.c
index fb39c45..03071ef 100644
--- a/src/core/surface/byte_buffer.c
+++ b/src/core/lib/surface/byte_buffer.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/src/core/surface/byte_buffer_reader.c b/src/core/lib/surface/byte_buffer_reader.c
similarity index 98%
rename from src/core/surface/byte_buffer_reader.c
rename to src/core/lib/surface/byte_buffer_reader.c
index 4a418fa..7248f5f 100644
--- a/src/core/surface/byte_buffer_reader.c
+++ b/src/core/lib/surface/byte_buffer_reader.c
@@ -41,7 +41,7 @@
 #include <grpc/support/log.h>
 #include <grpc/support/slice_buffer.h>
 
-#include "src/core/compression/message_compress.h"
+#include "src/core/lib/compression/message_compress.h"
 
 static int is_compressed(grpc_byte_buffer *buffer) {
   switch (buffer->type) {
diff --git a/src/core/surface/call.c b/src/core/lib/surface/call.c
similarity index 98%
rename from src/core/surface/call.c
rename to src/core/lib/surface/call.c
index 6f1cd1d..d63a4a7 100644
--- a/src/core/surface/call.c
+++ b/src/core/lib/surface/call.c
@@ -43,16 +43,16 @@
 #include <grpc/support/string_util.h>
 #include <grpc/support/useful.h>
 
-#include "src/core/channel/channel_stack.h"
-#include "src/core/compression/algorithm_metadata.h"
-#include "src/core/iomgr/timer.h"
-#include "src/core/profiling/timers.h"
-#include "src/core/support/string.h"
-#include "src/core/surface/api_trace.h"
-#include "src/core/surface/call.h"
-#include "src/core/surface/channel.h"
-#include "src/core/surface/completion_queue.h"
-#include "src/core/transport/static_metadata.h"
+#include "src/core/lib/channel/channel_stack.h"
+#include "src/core/lib/compression/algorithm_metadata.h"
+#include "src/core/lib/iomgr/timer.h"
+#include "src/core/lib/profiling/timers.h"
+#include "src/core/lib/support/string.h"
+#include "src/core/lib/surface/api_trace.h"
+#include "src/core/lib/surface/call.h"
+#include "src/core/lib/surface/channel.h"
+#include "src/core/lib/surface/completion_queue.h"
+#include "src/core/lib/transport/static_metadata.h"
 
 /** The maximum number of concurrent batches possible.
     Based upon the maximum number of individually queueable ops in the batch
diff --git a/src/core/surface/call.h b/src/core/lib/surface/call.h
similarity index 93%
rename from src/core/surface/call.h
rename to src/core/lib/surface/call.h
index d2edf03..e2e7586 100644
--- a/src/core/surface/call.h
+++ b/src/core/lib/surface/call.h
@@ -31,13 +31,13 @@
  *
  */
 
-#ifndef GRPC_CORE_SURFACE_CALL_H
-#define GRPC_CORE_SURFACE_CALL_H
+#ifndef GRPC_CORE_LIB_SURFACE_CALL_H
+#define GRPC_CORE_LIB_SURFACE_CALL_H
 
-#include "src/core/channel/channel_stack.h"
-#include "src/core/channel/context.h"
-#include "src/core/surface/api_trace.h"
-#include "src/core/surface/surface_trace.h"
+#include "src/core/lib/channel/channel_stack.h"
+#include "src/core/lib/channel/context.h"
+#include "src/core/lib/surface/api_trace.h"
+#include "src/core/lib/surface/surface_trace.h"
 
 #include <grpc/grpc.h>
 #include <grpc/impl/codegen/compression_types.h>
@@ -113,4 +113,4 @@
 }
 #endif
 
-#endif /* GRPC_CORE_SURFACE_CALL_H */
+#endif /* GRPC_CORE_LIB_SURFACE_CALL_H */
diff --git a/src/core/surface/call_details.c b/src/core/lib/surface/call_details.c
similarity index 95%
rename from src/core/surface/call_details.c
rename to src/core/lib/surface/call_details.c
index 60f0029..08f606d 100644
--- a/src/core/surface/call_details.c
+++ b/src/core/lib/surface/call_details.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -36,7 +36,7 @@
 
 #include <string.h>
 
-#include "src/core/surface/api_trace.h"
+#include "src/core/lib/surface/api_trace.h"
 
 void grpc_call_details_init(grpc_call_details* cd) {
   GRPC_API_TRACE("grpc_call_details_init(cd=%p)", 1, (cd));
diff --git a/src/core/surface/call_log_batch.c b/src/core/lib/surface/call_log_batch.c
similarity index 97%
rename from src/core/surface/call_log_batch.c
rename to src/core/lib/surface/call_log_batch.c
index 0442116..bc5a2ff 100644
--- a/src/core/surface/call_log_batch.c
+++ b/src/core/lib/surface/call_log_batch.c
@@ -31,11 +31,11 @@
  *
  */
 
-#include "src/core/surface/call.h"
+#include "src/core/lib/surface/call.h"
 
 #include <grpc/support/alloc.h>
 #include <grpc/support/string_util.h>
-#include "src/core/support/string.h"
+#include "src/core/lib/support/string.h"
 
 static void add_metadata(gpr_strvec *b, const grpc_metadata *md, size_t count) {
   size_t i;
diff --git a/src/core/surface/call_test_only.h b/src/core/lib/surface/call_test_only.h
similarity index 93%
rename from src/core/surface/call_test_only.h
rename to src/core/lib/surface/call_test_only.h
index fdc43a3..4002141 100644
--- a/src/core/surface/call_test_only.h
+++ b/src/core/lib/surface/call_test_only.h
@@ -31,8 +31,8 @@
  *
  */
 
-#ifndef GRPC_CORE_SURFACE_CALL_TEST_ONLY_H
-#define GRPC_CORE_SURFACE_CALL_TEST_ONLY_H
+#ifndef GRPC_CORE_LIB_SURFACE_CALL_TEST_ONLY_H
+#define GRPC_CORE_LIB_SURFACE_CALL_TEST_ONLY_H
 
 #include <grpc/grpc.h>
 
@@ -61,4 +61,4 @@
 }
 #endif
 
-#endif /* GRPC_CORE_SURFACE_CALL_TEST_ONLY_H */
+#endif /* GRPC_CORE_LIB_SURFACE_CALL_TEST_ONLY_H */
diff --git a/src/core/surface/channel.c b/src/core/lib/surface/channel.c
similarity index 96%
rename from src/core/surface/channel.c
rename to src/core/lib/surface/channel.c
index 0010b64..d815daa 100644
--- a/src/core/surface/channel.c
+++ b/src/core/lib/surface/channel.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/surface/channel.h"
+#include "src/core/lib/surface/channel.h"
 
 #include <stdlib.h>
 #include <string.h>
@@ -40,14 +40,14 @@
 #include <grpc/support/log.h>
 #include <grpc/support/string_util.h>
 
-#include "src/core/client_config/resolver_registry.h"
-#include "src/core/iomgr/iomgr.h"
-#include "src/core/support/string.h"
-#include "src/core/surface/api_trace.h"
-#include "src/core/surface/call.h"
-#include "src/core/surface/channel_init.h"
-#include "src/core/surface/init.h"
-#include "src/core/transport/static_metadata.h"
+#include "src/core/lib/client_config/resolver_registry.h"
+#include "src/core/lib/iomgr/iomgr.h"
+#include "src/core/lib/support/string.h"
+#include "src/core/lib/surface/api_trace.h"
+#include "src/core/lib/surface/call.h"
+#include "src/core/lib/surface/channel_init.h"
+#include "src/core/lib/surface/init.h"
+#include "src/core/lib/transport/static_metadata.h"
 
 /** Cache grpc-status: X mdelems for X = 0..NUM_CACHED_STATUS_ELEMS.
  *  Avoids needing to take a metadata context lock for sending status
diff --git a/src/core/surface/channel.h b/src/core/lib/surface/channel.h
similarity index 91%
rename from src/core/surface/channel.h
rename to src/core/lib/surface/channel.h
index 6a803ff..09de0fc 100644
--- a/src/core/surface/channel.h
+++ b/src/core/lib/surface/channel.h
@@ -31,12 +31,12 @@
  *
  */
 
-#ifndef GRPC_CORE_SURFACE_CHANNEL_H
-#define GRPC_CORE_SURFACE_CHANNEL_H
+#ifndef GRPC_CORE_LIB_SURFACE_CHANNEL_H
+#define GRPC_CORE_LIB_SURFACE_CHANNEL_H
 
-#include "src/core/channel/channel_stack.h"
-#include "src/core/client_config/subchannel_factory.h"
-#include "src/core/surface/channel_stack_type.h"
+#include "src/core/lib/channel/channel_stack.h"
+#include "src/core/lib/client_config/subchannel_factory.h"
+#include "src/core/lib/surface/channel_stack_type.h"
 
 grpc_channel *grpc_channel_create(grpc_exec_ctx *exec_ctx, const char *target,
                                   const grpc_channel_args *args,
@@ -72,4 +72,4 @@
   grpc_channel_internal_unref(exec_ctx, channel)
 #endif
 
-#endif /* GRPC_CORE_SURFACE_CHANNEL_H */
+#endif /* GRPC_CORE_LIB_SURFACE_CHANNEL_H */
diff --git a/src/core/surface/channel_connectivity.c b/src/core/lib/surface/channel_connectivity.c
similarity index 96%
rename from src/core/surface/channel_connectivity.c
rename to src/core/lib/surface/channel_connectivity.c
index 1826793..2f5d763 100644
--- a/src/core/surface/channel_connectivity.c
+++ b/src/core/lib/surface/channel_connectivity.c
@@ -31,15 +31,15 @@
  *
  */
 
-#include "src/core/surface/channel.h"
+#include "src/core/lib/surface/channel.h"
 
 #include <grpc/support/alloc.h>
 #include <grpc/support/log.h>
 
-#include "src/core/channel/client_channel.h"
-#include "src/core/iomgr/timer.h"
-#include "src/core/surface/api_trace.h"
-#include "src/core/surface/completion_queue.h"
+#include "src/core/lib/channel/client_channel.h"
+#include "src/core/lib/iomgr/timer.h"
+#include "src/core/lib/surface/api_trace.h"
+#include "src/core/lib/surface/completion_queue.h"
 
 grpc_connectivity_state grpc_channel_check_connectivity_state(
     grpc_channel *channel, int try_to_connect) {
diff --git a/src/core/surface/channel_create.c b/src/core/lib/surface/channel_create.c
similarity index 93%
rename from src/core/surface/channel_create.c
rename to src/core/lib/surface/channel_create.c
index 123447c..e8777ce 100644
--- a/src/core/surface/channel_create.c
+++ b/src/core/lib/surface/channel_create.c
@@ -40,16 +40,16 @@
 #include <grpc/support/slice.h>
 #include <grpc/support/slice_buffer.h>
 
-#include "src/core/census/grpc_filter.h"
-#include "src/core/channel/channel_args.h"
-#include "src/core/channel/client_channel.h"
-#include "src/core/channel/compress_filter.h"
-#include "src/core/channel/http_client_filter.h"
-#include "src/core/client_config/resolver_registry.h"
-#include "src/core/iomgr/tcp_client.h"
-#include "src/core/surface/api_trace.h"
-#include "src/core/surface/channel.h"
-#include "src/core/transport/chttp2_transport.h"
+#include "src/core/lib/census/grpc_filter.h"
+#include "src/core/lib/channel/channel_args.h"
+#include "src/core/lib/channel/client_channel.h"
+#include "src/core/lib/channel/compress_filter.h"
+#include "src/core/lib/channel/http_client_filter.h"
+#include "src/core/lib/client_config/resolver_registry.h"
+#include "src/core/lib/iomgr/tcp_client.h"
+#include "src/core/lib/surface/api_trace.h"
+#include "src/core/lib/surface/channel.h"
+#include "src/core/lib/transport/chttp2_transport.h"
 
 typedef struct {
   grpc_connector base;
diff --git a/src/core/surface/channel_init.c b/src/core/lib/surface/channel_init.c
similarity index 98%
rename from src/core/surface/channel_init.c
rename to src/core/lib/surface/channel_init.c
index ac962f3..fc69f61 100644
--- a/src/core/surface/channel_init.c
+++ b/src/core/lib/surface/channel_init.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/surface/channel_init.h"
+#include "src/core/lib/surface/channel_init.h"
 
 #include <grpc/support/alloc.h>
 #include <grpc/support/useful.h>
diff --git a/src/core/surface/channel_init.h b/src/core/lib/surface/channel_init.h
similarity index 92%
rename from src/core/surface/channel_init.h
rename to src/core/lib/surface/channel_init.h
index 06faef6..a4d8271 100644
--- a/src/core/surface/channel_init.h
+++ b/src/core/lib/surface/channel_init.h
@@ -31,12 +31,12 @@
  *
  */
 
-#ifndef GRPC_CORE_SURFACE_CHANNEL_INIT_H
-#define GRPC_CORE_SURFACE_CHANNEL_INIT_H
+#ifndef GRPC_CORE_LIB_SURFACE_CHANNEL_INIT_H
+#define GRPC_CORE_LIB_SURFACE_CHANNEL_INIT_H
 
-#include "src/core/channel/channel_stack_builder.h"
-#include "src/core/surface/channel_stack_type.h"
-#include "src/core/transport/transport.h"
+#include "src/core/lib/channel/channel_stack_builder.h"
+#include "src/core/lib/surface/channel_stack_type.h"
+#include "src/core/lib/transport/transport.h"
 
 /// This module provides a way for plugins (and the grpc core library itself)
 /// to register mutators for channel stacks.
@@ -83,4 +83,4 @@
     const grpc_channel_args *args, int initial_refs, grpc_iomgr_cb_func destroy,
     void *destroy_arg, grpc_transport *optional_transport);
 
-#endif /* GRPC_CORE_SURFACE_CHANNEL_INIT_H */
+#endif /* GRPC_CORE_LIB_SURFACE_CHANNEL_INIT_H */
diff --git a/src/core/surface/channel_ping.c b/src/core/lib/surface/channel_ping.c
similarity index 95%
rename from src/core/surface/channel_ping.c
rename to src/core/lib/surface/channel_ping.c
index 983f1c8..dd862cd 100644
--- a/src/core/surface/channel_ping.c
+++ b/src/core/lib/surface/channel_ping.c
@@ -31,15 +31,15 @@
  *
  */
 
-#include "src/core/surface/channel.h"
+#include "src/core/lib/surface/channel.h"
 
 #include <string.h>
 
 #include <grpc/support/alloc.h>
 #include <grpc/support/log.h>
 
-#include "src/core/surface/api_trace.h"
-#include "src/core/surface/completion_queue.h"
+#include "src/core/lib/surface/api_trace.h"
+#include "src/core/lib/surface/completion_queue.h"
 
 typedef struct {
   grpc_closure closure;
diff --git a/src/core/surface/channel_stack_type.c b/src/core/lib/surface/channel_stack_type.c
similarity index 97%
rename from src/core/surface/channel_stack_type.c
rename to src/core/lib/surface/channel_stack_type.c
index 1a6e949..c35d603 100644
--- a/src/core/surface/channel_stack_type.c
+++ b/src/core/lib/surface/channel_stack_type.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/surface/channel_stack_type.h"
+#include "src/core/lib/surface/channel_stack_type.h"
 #include <grpc/support/log.h>
 #include <grpc/support/port_platform.h>
 
diff --git a/src/core/surface/channel_stack_type.h b/src/core/lib/surface/channel_stack_type.h
similarity index 93%
rename from src/core/surface/channel_stack_type.h
rename to src/core/lib/surface/channel_stack_type.h
index 75a1b9c..16608fa 100644
--- a/src/core/surface/channel_stack_type.h
+++ b/src/core/lib/surface/channel_stack_type.h
@@ -31,8 +31,8 @@
  *
  */
 
-#ifndef GRPC_CORE_SURFACE_CHANNEL_STACK_TYPE_H
-#define GRPC_CORE_SURFACE_CHANNEL_STACK_TYPE_H
+#ifndef GRPC_CORE_LIB_SURFACE_CHANNEL_STACK_TYPE_H
+#define GRPC_CORE_LIB_SURFACE_CHANNEL_STACK_TYPE_H
 
 #include <stdbool.h>
 
@@ -55,4 +55,4 @@
 
 bool grpc_channel_stack_type_is_client(grpc_channel_stack_type type);
 
-#endif /* GRPC_CORE_SURFACE_CHANNEL_STACK_TYPE_H */
+#endif /* GRPC_CORE_LIB_SURFACE_CHANNEL_STACK_TYPE_H */
diff --git a/src/core/surface/completion_queue.c b/src/core/lib/surface/completion_queue.c
similarity index 97%
rename from src/core/surface/completion_queue.c
rename to src/core/lib/surface/completion_queue.c
index b22818e..a0d7002 100644
--- a/src/core/surface/completion_queue.c
+++ b/src/core/lib/surface/completion_queue.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/surface/completion_queue.h"
+#include "src/core/lib/surface/completion_queue.h"
 
 #include <stdio.h>
 #include <string.h>
@@ -41,14 +41,14 @@
 #include <grpc/support/log.h>
 #include <grpc/support/time.h>
 
-#include "src/core/iomgr/pollset.h"
-#include "src/core/iomgr/timer.h"
-#include "src/core/profiling/timers.h"
-#include "src/core/support/string.h"
-#include "src/core/surface/api_trace.h"
-#include "src/core/surface/call.h"
-#include "src/core/surface/event_string.h"
-#include "src/core/surface/surface_trace.h"
+#include "src/core/lib/iomgr/pollset.h"
+#include "src/core/lib/iomgr/timer.h"
+#include "src/core/lib/profiling/timers.h"
+#include "src/core/lib/support/string.h"
+#include "src/core/lib/surface/api_trace.h"
+#include "src/core/lib/surface/call.h"
+#include "src/core/lib/surface/event_string.h"
+#include "src/core/lib/surface/surface_trace.h"
 
 typedef struct {
   grpc_pollset_worker **worker;
diff --git a/src/core/surface/completion_queue.h b/src/core/lib/surface/completion_queue.h
similarity index 94%
rename from src/core/surface/completion_queue.h
rename to src/core/lib/surface/completion_queue.h
index 213d89c..35591cb 100644
--- a/src/core/surface/completion_queue.h
+++ b/src/core/lib/surface/completion_queue.h
@@ -31,13 +31,13 @@
  *
  */
 
-#ifndef GRPC_CORE_SURFACE_COMPLETION_QUEUE_H
-#define GRPC_CORE_SURFACE_COMPLETION_QUEUE_H
+#ifndef GRPC_CORE_LIB_SURFACE_COMPLETION_QUEUE_H
+#define GRPC_CORE_LIB_SURFACE_COMPLETION_QUEUE_H
 
 /* Internal API for completion queues */
 
 #include <grpc/grpc.h>
-#include "src/core/iomgr/pollset.h"
+#include "src/core/lib/iomgr/pollset.h"
 
 typedef struct grpc_cq_completion {
   /** user supplied tag */
@@ -88,4 +88,4 @@
 void grpc_cq_global_init(void);
 void grpc_cq_global_shutdown(void);
 
-#endif /* GRPC_CORE_SURFACE_COMPLETION_QUEUE_H */
+#endif /* GRPC_CORE_LIB_SURFACE_COMPLETION_QUEUE_H */
diff --git a/src/core/surface/event_string.c b/src/core/lib/surface/event_string.c
similarity index 96%
rename from src/core/surface/event_string.c
rename to src/core/lib/surface/event_string.c
index 85a372b..360c718 100644
--- a/src/core/surface/event_string.c
+++ b/src/core/lib/surface/event_string.c
@@ -31,13 +31,13 @@
  *
  */
 
-#include "src/core/surface/event_string.h"
+#include "src/core/lib/surface/event_string.h"
 
 #include <stdio.h>
 
 #include <grpc/byte_buffer.h>
 #include <grpc/support/string_util.h>
-#include "src/core/support/string.h"
+#include "src/core/lib/support/string.h"
 
 static void addhdr(gpr_strvec *buf, grpc_event *ev) {
   char *tmp;
diff --git a/src/core/surface/event_string.h b/src/core/lib/surface/event_string.h
similarity index 92%
rename from src/core/surface/event_string.h
rename to src/core/lib/surface/event_string.h
index d0598ce..577e9c7 100644
--- a/src/core/surface/event_string.h
+++ b/src/core/lib/surface/event_string.h
@@ -31,12 +31,12 @@
  *
  */
 
-#ifndef GRPC_CORE_SURFACE_EVENT_STRING_H
-#define GRPC_CORE_SURFACE_EVENT_STRING_H
+#ifndef GRPC_CORE_LIB_SURFACE_EVENT_STRING_H
+#define GRPC_CORE_LIB_SURFACE_EVENT_STRING_H
 
 #include <grpc/grpc.h>
 
 /* Returns a string describing an event. Must be later freed with gpr_free() */
 char *grpc_event_string(grpc_event *ev);
 
-#endif /* GRPC_CORE_SURFACE_EVENT_STRING_H */
+#endif /* GRPC_CORE_LIB_SURFACE_EVENT_STRING_H */
diff --git a/src/core/surface/init.c b/src/core/lib/surface/init.c
similarity index 84%
rename from src/core/surface/init.c
rename to src/core/lib/surface/init.c
index 3c4db3e..dcb9c62 100644
--- a/src/core/surface/init.c
+++ b/src/core/lib/surface/init.c
@@ -40,36 +40,36 @@
 #include <grpc/support/alloc.h>
 #include <grpc/support/time.h>
 /* TODO(ctiller): find another way? - better not to include census here */
-#include "src/core/census/grpc_plugin.h"
-#include "src/core/channel/channel_stack.h"
-#include "src/core/channel/client_channel.h"
-#include "src/core/channel/compress_filter.h"
-#include "src/core/channel/connected_channel.h"
-#include "src/core/channel/http_client_filter.h"
-#include "src/core/channel/http_server_filter.h"
-#include "src/core/client_config/lb_policies/pick_first.h"
-#include "src/core/client_config/lb_policies/round_robin.h"
-#include "src/core/client_config/lb_policy_registry.h"
-#include "src/core/client_config/resolver_registry.h"
-#include "src/core/client_config/resolvers/dns_resolver.h"
-#include "src/core/client_config/resolvers/sockaddr_resolver.h"
-#include "src/core/client_config/subchannel.h"
-#include "src/core/client_config/subchannel_index.h"
-#include "src/core/debug/trace.h"
-#include "src/core/iomgr/executor.h"
-#include "src/core/iomgr/iomgr.h"
-#include "src/core/profiling/timers.h"
-#include "src/core/surface/api_trace.h"
-#include "src/core/surface/call.h"
-#include "src/core/surface/channel_init.h"
-#include "src/core/surface/completion_queue.h"
-#include "src/core/surface/init.h"
-#include "src/core/surface/lame_client.h"
-#include "src/core/surface/server.h"
-#include "src/core/surface/surface_trace.h"
-#include "src/core/transport/chttp2_transport.h"
-#include "src/core/transport/connectivity_state.h"
-#include "src/core/transport/transport_impl.h"
+#include "src/core/lib/census/grpc_plugin.h"
+#include "src/core/lib/channel/channel_stack.h"
+#include "src/core/lib/channel/client_channel.h"
+#include "src/core/lib/channel/compress_filter.h"
+#include "src/core/lib/channel/connected_channel.h"
+#include "src/core/lib/channel/http_client_filter.h"
+#include "src/core/lib/channel/http_server_filter.h"
+#include "src/core/lib/client_config/lb_policies/pick_first.h"
+#include "src/core/lib/client_config/lb_policies/round_robin.h"
+#include "src/core/lib/client_config/lb_policy_registry.h"
+#include "src/core/lib/client_config/resolver_registry.h"
+#include "src/core/lib/client_config/resolvers/dns_resolver.h"
+#include "src/core/lib/client_config/resolvers/sockaddr_resolver.h"
+#include "src/core/lib/client_config/subchannel.h"
+#include "src/core/lib/client_config/subchannel_index.h"
+#include "src/core/lib/debug/trace.h"
+#include "src/core/lib/iomgr/executor.h"
+#include "src/core/lib/iomgr/iomgr.h"
+#include "src/core/lib/profiling/timers.h"
+#include "src/core/lib/surface/api_trace.h"
+#include "src/core/lib/surface/call.h"
+#include "src/core/lib/surface/channel_init.h"
+#include "src/core/lib/surface/completion_queue.h"
+#include "src/core/lib/surface/init.h"
+#include "src/core/lib/surface/lame_client.h"
+#include "src/core/lib/surface/server.h"
+#include "src/core/lib/surface/surface_trace.h"
+#include "src/core/lib/transport/chttp2_transport.h"
+#include "src/core/lib/transport/connectivity_state.h"
+#include "src/core/lib/transport/transport_impl.h"
 
 #ifndef GRPC_DEFAULT_NAME_PREFIX
 #define GRPC_DEFAULT_NAME_PREFIX "dns:///"
diff --git a/src/core/surface/init.h b/src/core/lib/surface/init.h
similarity index 93%
rename from src/core/surface/init.h
rename to src/core/lib/surface/init.h
index 5e358c7..10e2a58 100644
--- a/src/core/surface/init.h
+++ b/src/core/lib/surface/init.h
@@ -31,11 +31,11 @@
  *
  */
 
-#ifndef GRPC_CORE_SURFACE_INIT_H
-#define GRPC_CORE_SURFACE_INIT_H
+#ifndef GRPC_CORE_LIB_SURFACE_INIT_H
+#define GRPC_CORE_LIB_SURFACE_INIT_H
 
 void grpc_register_security_filters(void);
 void grpc_security_pre_init(void);
 int grpc_is_initialized(void);
 
-#endif /* GRPC_CORE_SURFACE_INIT_H */
+#endif /* GRPC_CORE_LIB_SURFACE_INIT_H */
diff --git a/src/core/surface/init_secure.c b/src/core/lib/surface/init_secure.c
similarity index 89%
rename from src/core/surface/init_secure.c
rename to src/core/lib/surface/init_secure.c
index e0d66a8..d3c2f64 100644
--- a/src/core/surface/init_secure.c
+++ b/src/core/lib/surface/init_secure.c
@@ -31,18 +31,18 @@
  *
  */
 
-#include "src/core/surface/init.h"
+#include "src/core/lib/surface/init.h"
 
 #include <limits.h>
 #include <string.h>
 
-#include "src/core/debug/trace.h"
-#include "src/core/security/auth_filters.h"
-#include "src/core/security/credentials.h"
-#include "src/core/security/secure_endpoint.h"
-#include "src/core/security/security_connector.h"
-#include "src/core/surface/channel_init.h"
-#include "src/core/tsi/transport_security_interface.h"
+#include "src/core/lib/debug/trace.h"
+#include "src/core/lib/security/auth_filters.h"
+#include "src/core/lib/security/credentials.h"
+#include "src/core/lib/security/secure_endpoint.h"
+#include "src/core/lib/security/security_connector.h"
+#include "src/core/lib/surface/channel_init.h"
+#include "src/core/lib/tsi/transport_security_interface.h"
 
 void grpc_security_pre_init(void) {
   grpc_register_tracer("secure_endpoint", &grpc_trace_secure_endpoint);
diff --git a/src/core/surface/init_unsecure.c b/src/core/lib/surface/init_unsecure.c
similarity index 97%
rename from src/core/surface/init_unsecure.c
rename to src/core/lib/surface/init_unsecure.c
index 278fcc8..243c005 100644
--- a/src/core/surface/init_unsecure.c
+++ b/src/core/lib/surface/init_unsecure.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/surface/init.h"
+#include "src/core/lib/surface/init.h"
 
 void grpc_security_pre_init(void) {}
 
diff --git a/src/core/surface/lame_client.c b/src/core/lib/surface/lame_client.c
similarity index 95%
rename from src/core/surface/lame_client.c
rename to src/core/lib/surface/lame_client.c
index 25f3a74..95ec4b0 100644
--- a/src/core/surface/lame_client.c
+++ b/src/core/lib/surface/lame_client.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/surface/lame_client.h"
+#include "src/core/lib/surface/lame_client.h"
 
 #include <grpc/grpc.h>
 
@@ -39,11 +39,11 @@
 
 #include <grpc/support/alloc.h>
 #include <grpc/support/log.h>
-#include "src/core/channel/channel_stack.h"
-#include "src/core/support/string.h"
-#include "src/core/surface/api_trace.h"
-#include "src/core/surface/call.h"
-#include "src/core/surface/channel.h"
+#include "src/core/lib/channel/channel_stack.h"
+#include "src/core/lib/support/string.h"
+#include "src/core/lib/surface/api_trace.h"
+#include "src/core/lib/surface/call.h"
+#include "src/core/lib/surface/channel.h"
 
 typedef struct {
   grpc_linked_mdelem status;
diff --git a/src/core/surface/lame_client.h b/src/core/lib/surface/lame_client.h
similarity index 89%
rename from src/core/surface/lame_client.h
rename to src/core/lib/surface/lame_client.h
index 3f3abd2..5f6ea34 100644
--- a/src/core/surface/lame_client.h
+++ b/src/core/lib/surface/lame_client.h
@@ -31,11 +31,11 @@
  *
  */
 
-#ifndef GRPC_CORE_SURFACE_LAME_CLIENT_H
-#define GRPC_CORE_SURFACE_LAME_CLIENT_H
+#ifndef GRPC_CORE_LIB_SURFACE_LAME_CLIENT_H
+#define GRPC_CORE_LIB_SURFACE_LAME_CLIENT_H
 
-#include "src/core/channel/channel_stack.h"
+#include "src/core/lib/channel/channel_stack.h"
 
 extern const grpc_channel_filter grpc_lame_filter;
 
-#endif /* GRPC_CORE_SURFACE_LAME_CLIENT_H */
+#endif /* GRPC_CORE_LIB_SURFACE_LAME_CLIENT_H */
diff --git a/src/core/surface/metadata_array.c b/src/core/lib/surface/metadata_array.c
similarity index 95%
rename from src/core/surface/metadata_array.c
rename to src/core/lib/surface/metadata_array.c
index 4c7bf17..4436f2d 100644
--- a/src/core/surface/metadata_array.c
+++ b/src/core/lib/surface/metadata_array.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -36,7 +36,7 @@
 
 #include <string.h>
 
-#include "src/core/surface/api_trace.h"
+#include "src/core/lib/surface/api_trace.h"
 
 void grpc_metadata_array_init(grpc_metadata_array* array) {
   GRPC_API_TRACE("grpc_metadata_array_init(array=%p)", 1, (array));
diff --git a/src/core/surface/secure_channel_create.c b/src/core/lib/surface/secure_channel_create.c
similarity index 94%
rename from src/core/surface/secure_channel_create.c
rename to src/core/lib/surface/secure_channel_create.c
index cc75222..b6f3504 100644
--- a/src/core/surface/secure_channel_create.c
+++ b/src/core/lib/surface/secure_channel_create.c
@@ -40,17 +40,17 @@
 #include <grpc/support/slice.h>
 #include <grpc/support/slice_buffer.h>
 
-#include "src/core/channel/channel_args.h"
-#include "src/core/channel/client_channel.h"
-#include "src/core/client_config/resolver_registry.h"
-#include "src/core/iomgr/tcp_client.h"
-#include "src/core/security/auth_filters.h"
-#include "src/core/security/credentials.h"
-#include "src/core/security/security_context.h"
-#include "src/core/surface/api_trace.h"
-#include "src/core/surface/channel.h"
-#include "src/core/transport/chttp2_transport.h"
-#include "src/core/tsi/transport_security_interface.h"
+#include "src/core/lib/channel/channel_args.h"
+#include "src/core/lib/channel/client_channel.h"
+#include "src/core/lib/client_config/resolver_registry.h"
+#include "src/core/lib/iomgr/tcp_client.h"
+#include "src/core/lib/security/auth_filters.h"
+#include "src/core/lib/security/credentials.h"
+#include "src/core/lib/security/security_context.h"
+#include "src/core/lib/surface/api_trace.h"
+#include "src/core/lib/surface/channel.h"
+#include "src/core/lib/transport/chttp2_transport.h"
+#include "src/core/lib/tsi/transport_security_interface.h"
 
 typedef struct {
   grpc_connector base;
@@ -267,7 +267,7 @@
     gpr_log(GPR_ERROR, "Cannot set security context in channel args.");
     grpc_exec_ctx_finish(&exec_ctx);
     return grpc_lame_client_channel_create(
-        target, GRPC_STATUS_INVALID_ARGUMENT,
+        target, GRPC_STATUS_INTERNAL,
         "Security connector exists in channel args.");
   }
 
@@ -276,8 +276,7 @@
       GRPC_SECURITY_OK) {
     grpc_exec_ctx_finish(&exec_ctx);
     return grpc_lame_client_channel_create(
-        target, GRPC_STATUS_INVALID_ARGUMENT,
-        "Failed to create security connector.");
+        target, GRPC_STATUS_INTERNAL, "Failed to create security connector.");
   }
 
   connector_arg = grpc_security_connector_to_arg(&security_connector->base);
diff --git a/src/core/surface/server.c b/src/core/lib/surface/server.c
similarity index 98%
rename from src/core/surface/server.c
rename to src/core/lib/surface/server.c
index a92f2b3..080734e 100644
--- a/src/core/surface/server.c
+++ b/src/core/lib/surface/server.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/surface/server.h"
+#include "src/core/lib/surface/server.h"
 
 #include <limits.h>
 #include <stdlib.h>
@@ -42,18 +42,18 @@
 #include <grpc/support/string_util.h>
 #include <grpc/support/useful.h>
 
-#include "src/core/channel/channel_args.h"
-#include "src/core/channel/connected_channel.h"
-#include "src/core/iomgr/iomgr.h"
-#include "src/core/support/stack_lockfree.h"
-#include "src/core/support/string.h"
-#include "src/core/surface/api_trace.h"
-#include "src/core/surface/call.h"
-#include "src/core/surface/channel.h"
-#include "src/core/surface/completion_queue.h"
-#include "src/core/surface/init.h"
-#include "src/core/transport/metadata.h"
-#include "src/core/transport/static_metadata.h"
+#include "src/core/lib/channel/channel_args.h"
+#include "src/core/lib/channel/connected_channel.h"
+#include "src/core/lib/iomgr/iomgr.h"
+#include "src/core/lib/support/stack_lockfree.h"
+#include "src/core/lib/support/string.h"
+#include "src/core/lib/surface/api_trace.h"
+#include "src/core/lib/surface/call.h"
+#include "src/core/lib/surface/channel.h"
+#include "src/core/lib/surface/completion_queue.h"
+#include "src/core/lib/surface/init.h"
+#include "src/core/lib/transport/metadata.h"
+#include "src/core/lib/transport/static_metadata.h"
 
 typedef struct listener {
   void *arg;
diff --git a/src/core/surface/server.h b/src/core/lib/surface/server.h
similarity index 92%
rename from src/core/surface/server.h
rename to src/core/lib/surface/server.h
index cd62ead..3845eb2 100644
--- a/src/core/surface/server.h
+++ b/src/core/lib/surface/server.h
@@ -31,12 +31,12 @@
  *
  */
 
-#ifndef GRPC_CORE_SURFACE_SERVER_H
-#define GRPC_CORE_SURFACE_SERVER_H
+#ifndef GRPC_CORE_LIB_SURFACE_SERVER_H
+#define GRPC_CORE_LIB_SURFACE_SERVER_H
 
 #include <grpc/grpc.h>
-#include "src/core/channel/channel_stack.h"
-#include "src/core/transport/transport.h"
+#include "src/core/lib/channel/channel_stack.h"
+#include "src/core/lib/transport/transport.h"
 
 extern const grpc_channel_filter grpc_server_top_filter;
 
@@ -59,4 +59,4 @@
 
 int grpc_server_has_open_connections(grpc_server *server);
 
-#endif /* GRPC_CORE_SURFACE_SERVER_H */
+#endif /* GRPC_CORE_LIB_SURFACE_SERVER_H */
diff --git a/src/core/surface/server_chttp2.c b/src/core/lib/surface/server_chttp2.c
similarity index 94%
rename from src/core/surface/server_chttp2.c
rename to src/core/lib/surface/server_chttp2.c
index 546760e..f0c2ee5 100644
--- a/src/core/surface/server_chttp2.c
+++ b/src/core/lib/surface/server_chttp2.c
@@ -36,12 +36,12 @@
 #include <grpc/support/alloc.h>
 #include <grpc/support/log.h>
 #include <grpc/support/useful.h>
-#include "src/core/channel/http_server_filter.h"
-#include "src/core/iomgr/resolve_address.h"
-#include "src/core/iomgr/tcp_server.h"
-#include "src/core/surface/api_trace.h"
-#include "src/core/surface/server.h"
-#include "src/core/transport/chttp2_transport.h"
+#include "src/core/lib/channel/http_server_filter.h"
+#include "src/core/lib/iomgr/resolve_address.h"
+#include "src/core/lib/iomgr/tcp_server.h"
+#include "src/core/lib/surface/api_trace.h"
+#include "src/core/lib/surface/server.h"
+#include "src/core/lib/transport/chttp2_transport.h"
 
 static void setup_transport(grpc_exec_ctx *exec_ctx, void *server,
                             grpc_transport *transport) {
diff --git a/src/core/surface/surface_trace.h b/src/core/lib/surface/surface_trace.h
similarity index 89%
rename from src/core/surface/surface_trace.h
rename to src/core/lib/surface/surface_trace.h
index a55a88e..6b3f673 100644
--- a/src/core/surface/surface_trace.h
+++ b/src/core/lib/surface/surface_trace.h
@@ -31,12 +31,12 @@
  *
  */
 
-#ifndef GRPC_CORE_SURFACE_SURFACE_TRACE_H
-#define GRPC_CORE_SURFACE_SURFACE_TRACE_H
+#ifndef GRPC_CORE_LIB_SURFACE_SURFACE_TRACE_H
+#define GRPC_CORE_LIB_SURFACE_SURFACE_TRACE_H
 
 #include <grpc/support/log.h>
-#include "src/core/debug/trace.h"
-#include "src/core/surface/api_trace.h"
+#include "src/core/lib/debug/trace.h"
+#include "src/core/lib/surface/api_trace.h"
 
 #define GRPC_SURFACE_TRACE_RETURNED_EVENT(cq, event)    \
   if (grpc_api_trace) {                                 \
@@ -45,4 +45,4 @@
     gpr_free(_ev);                                      \
   }
 
-#endif /* GRPC_CORE_SURFACE_SURFACE_TRACE_H */
+#endif /* GRPC_CORE_LIB_SURFACE_SURFACE_TRACE_H */
diff --git a/src/core/surface/validate_metadata.c b/src/core/lib/surface/validate_metadata.c
similarity index 100%
rename from src/core/surface/validate_metadata.c
rename to src/core/lib/surface/validate_metadata.c
diff --git a/src/core/surface/version.c b/src/core/lib/surface/version.c
similarity index 100%
rename from src/core/surface/version.c
rename to src/core/lib/surface/version.c
diff --git a/src/core/transport/byte_stream.c b/src/core/lib/transport/byte_stream.c
similarity index 97%
rename from src/core/transport/byte_stream.c
rename to src/core/lib/transport/byte_stream.c
index 8e6fb2c..79981aa 100644
--- a/src/core/transport/byte_stream.c
+++ b/src/core/lib/transport/byte_stream.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/transport/byte_stream.h"
+#include "src/core/lib/transport/byte_stream.h"
 
 #include <stdlib.h>
 
diff --git a/src/core/transport/byte_stream.h b/src/core/lib/transport/byte_stream.h
similarity index 94%
rename from src/core/transport/byte_stream.h
rename to src/core/lib/transport/byte_stream.h
index ab42d07..e7346da 100644
--- a/src/core/transport/byte_stream.h
+++ b/src/core/lib/transport/byte_stream.h
@@ -31,11 +31,11 @@
  *
  */
 
-#ifndef GRPC_CORE_TRANSPORT_BYTE_STREAM_H
-#define GRPC_CORE_TRANSPORT_BYTE_STREAM_H
+#ifndef GRPC_CORE_LIB_TRANSPORT_BYTE_STREAM_H
+#define GRPC_CORE_LIB_TRANSPORT_BYTE_STREAM_H
 
 #include <grpc/support/slice_buffer.h>
-#include "src/core/iomgr/exec_ctx.h"
+#include "src/core/lib/iomgr/exec_ctx.h"
 
 /** Internal bit flag for grpc_begin_message's \a flags signaling the use of
  * compression for the message */
@@ -86,4 +86,4 @@
                                    gpr_slice_buffer *slice_buffer,
                                    uint32_t flags);
 
-#endif /* GRPC_CORE_TRANSPORT_BYTE_STREAM_H */
+#endif /* GRPC_CORE_LIB_TRANSPORT_BYTE_STREAM_H */
diff --git a/src/core/transport/chttp2/alpn.c b/src/core/lib/transport/chttp2/alpn.c
similarity index 96%
rename from src/core/transport/chttp2/alpn.c
rename to src/core/lib/transport/chttp2/alpn.c
index 69da4e6..befe319 100644
--- a/src/core/transport/chttp2/alpn.c
+++ b/src/core/lib/transport/chttp2/alpn.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/transport/chttp2/alpn.h"
+#include "src/core/lib/transport/chttp2/alpn.h"
 #include <grpc/support/log.h>
 #include <grpc/support/useful.h>
 
diff --git a/src/core/transport/chttp2/alpn.h b/src/core/lib/transport/chttp2/alpn.h
similarity index 93%
rename from src/core/transport/chttp2/alpn.h
rename to src/core/lib/transport/chttp2/alpn.h
index 68010e3..a9184e6 100644
--- a/src/core/transport/chttp2/alpn.h
+++ b/src/core/lib/transport/chttp2/alpn.h
@@ -31,8 +31,8 @@
  *
  */
 
-#ifndef GRPC_CORE_TRANSPORT_CHTTP2_ALPN_H
-#define GRPC_CORE_TRANSPORT_CHTTP2_ALPN_H
+#ifndef GRPC_CORE_LIB_TRANSPORT_CHTTP2_ALPN_H
+#define GRPC_CORE_LIB_TRANSPORT_CHTTP2_ALPN_H
 
 #include <string.h>
 
@@ -46,4 +46,4 @@
  * grpc_chttp2_num_alpn_versions()) */
 const char *grpc_chttp2_get_alpn_version_index(size_t i);
 
-#endif /* GRPC_CORE_TRANSPORT_CHTTP2_ALPN_H */
+#endif /* GRPC_CORE_LIB_TRANSPORT_CHTTP2_ALPN_H */
diff --git a/src/core/transport/chttp2/bin_encoder.c b/src/core/lib/transport/chttp2/bin_encoder.c
similarity index 98%
rename from src/core/transport/chttp2/bin_encoder.c
rename to src/core/lib/transport/chttp2/bin_encoder.c
index 3d31162..79d0aa3 100644
--- a/src/core/transport/chttp2/bin_encoder.c
+++ b/src/core/lib/transport/chttp2/bin_encoder.c
@@ -31,12 +31,12 @@
  *
  */
 
-#include "src/core/transport/chttp2/bin_encoder.h"
+#include "src/core/lib/transport/chttp2/bin_encoder.h"
 
 #include <string.h>
 
 #include <grpc/support/log.h>
-#include "src/core/transport/chttp2/huffsyms.h"
+#include "src/core/lib/transport/chttp2/huffsyms.h"
 
 static const char alphabet[] =
     "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
diff --git a/src/core/transport/chttp2/bin_encoder.h b/src/core/lib/transport/chttp2/bin_encoder.h
similarity index 92%
rename from src/core/transport/chttp2/bin_encoder.h
rename to src/core/lib/transport/chttp2/bin_encoder.h
index edb6f2d..1c5cd1e 100644
--- a/src/core/transport/chttp2/bin_encoder.h
+++ b/src/core/lib/transport/chttp2/bin_encoder.h
@@ -31,8 +31,8 @@
  *
  */
 
-#ifndef GRPC_CORE_TRANSPORT_CHTTP2_BIN_ENCODER_H
-#define GRPC_CORE_TRANSPORT_CHTTP2_BIN_ENCODER_H
+#ifndef GRPC_CORE_LIB_TRANSPORT_CHTTP2_BIN_ENCODER_H
+#define GRPC_CORE_LIB_TRANSPORT_CHTTP2_BIN_ENCODER_H
 
 #include <grpc/support/slice.h>
 
@@ -51,4 +51,4 @@
    return y; */
 gpr_slice grpc_chttp2_base64_encode_and_huffman_compress(gpr_slice input);
 
-#endif /* GRPC_CORE_TRANSPORT_CHTTP2_BIN_ENCODER_H */
+#endif /* GRPC_CORE_LIB_TRANSPORT_CHTTP2_BIN_ENCODER_H */
diff --git a/src/core/transport/chttp2/frame.h b/src/core/lib/transport/chttp2/frame.h
similarity index 94%
rename from src/core/transport/chttp2/frame.h
rename to src/core/lib/transport/chttp2/frame.h
index 560a667..4674bc9 100644
--- a/src/core/transport/chttp2/frame.h
+++ b/src/core/lib/transport/chttp2/frame.h
@@ -31,8 +31,8 @@
  *
  */
 
-#ifndef GRPC_CORE_TRANSPORT_CHTTP2_FRAME_H
-#define GRPC_CORE_TRANSPORT_CHTTP2_FRAME_H
+#ifndef GRPC_CORE_LIB_TRANSPORT_CHTTP2_FRAME_H
+#define GRPC_CORE_LIB_TRANSPORT_CHTTP2_FRAME_H
 
 #include <grpc/support/port_platform.h>
 #include <grpc/support/slice.h>
@@ -66,4 +66,4 @@
 #define GRPC_CHTTP2_DATA_FLAG_PADDED 8
 #define GRPC_CHTTP2_FLAG_HAS_PRIORITY 0x20
 
-#endif /* GRPC_CORE_TRANSPORT_CHTTP2_FRAME_H */
+#endif /* GRPC_CORE_LIB_TRANSPORT_CHTTP2_FRAME_H */
diff --git a/src/core/transport/chttp2/frame_data.c b/src/core/lib/transport/chttp2/frame_data.c
similarity index 97%
rename from src/core/transport/chttp2/frame_data.c
rename to src/core/lib/transport/chttp2/frame_data.c
index 6cc6d4e..cf25c3c 100644
--- a/src/core/transport/chttp2/frame_data.c
+++ b/src/core/lib/transport/chttp2/frame_data.c
@@ -31,16 +31,16 @@
  *
  */
 
-#include "src/core/transport/chttp2/frame_data.h"
+#include "src/core/lib/transport/chttp2/frame_data.h"
 
 #include <string.h>
 
 #include <grpc/support/alloc.h>
 #include <grpc/support/log.h>
 #include <grpc/support/useful.h>
-#include "src/core/support/string.h"
-#include "src/core/transport/chttp2/internal.h"
-#include "src/core/transport/transport.h"
+#include "src/core/lib/support/string.h"
+#include "src/core/lib/transport/chttp2/internal.h"
+#include "src/core/lib/transport/transport.h"
 
 grpc_chttp2_parse_error grpc_chttp2_data_parser_init(
     grpc_chttp2_data_parser *parser) {
diff --git a/src/core/transport/chttp2/frame_data.h b/src/core/lib/transport/chttp2/frame_data.h
similarity index 92%
rename from src/core/transport/chttp2/frame_data.h
rename to src/core/lib/transport/chttp2/frame_data.h
index 9dbaa60..da404a4 100644
--- a/src/core/transport/chttp2/frame_data.h
+++ b/src/core/lib/transport/chttp2/frame_data.h
@@ -31,16 +31,16 @@
  *
  */
 
-#ifndef GRPC_CORE_TRANSPORT_CHTTP2_FRAME_DATA_H
-#define GRPC_CORE_TRANSPORT_CHTTP2_FRAME_DATA_H
+#ifndef GRPC_CORE_LIB_TRANSPORT_CHTTP2_FRAME_DATA_H
+#define GRPC_CORE_LIB_TRANSPORT_CHTTP2_FRAME_DATA_H
 
 /* Parser for GRPC streams embedded in DATA frames */
 
 #include <grpc/support/slice.h>
 #include <grpc/support/slice_buffer.h>
-#include "src/core/iomgr/exec_ctx.h"
-#include "src/core/transport/byte_stream.h"
-#include "src/core/transport/chttp2/frame.h"
+#include "src/core/lib/iomgr/exec_ctx.h"
+#include "src/core/lib/transport/byte_stream.h"
+#include "src/core/lib/transport/chttp2/frame.h"
 
 typedef enum {
   GRPC_CHTTP2_DATA_FH_0,
@@ -98,4 +98,4 @@
                              uint32_t write_bytes, int is_eof,
                              gpr_slice_buffer *outbuf);
 
-#endif /* GRPC_CORE_TRANSPORT_CHTTP2_FRAME_DATA_H */
+#endif /* GRPC_CORE_LIB_TRANSPORT_CHTTP2_FRAME_DATA_H */
diff --git a/src/core/transport/chttp2/frame_goaway.c b/src/core/lib/transport/chttp2/frame_goaway.c
similarity index 97%
rename from src/core/transport/chttp2/frame_goaway.c
rename to src/core/lib/transport/chttp2/frame_goaway.c
index 2fa525e..bb8c28d 100644
--- a/src/core/transport/chttp2/frame_goaway.c
+++ b/src/core/lib/transport/chttp2/frame_goaway.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,8 +31,8 @@
  *
  */
 
-#include "src/core/transport/chttp2/frame_goaway.h"
-#include "src/core/transport/chttp2/internal.h"
+#include "src/core/lib/transport/chttp2/frame_goaway.h"
+#include "src/core/lib/transport/chttp2/internal.h"
 
 #include <string.h>
 
diff --git a/src/core/transport/chttp2/frame_goaway.h b/src/core/lib/transport/chttp2/frame_goaway.h
similarity index 91%
rename from src/core/transport/chttp2/frame_goaway.h
rename to src/core/lib/transport/chttp2/frame_goaway.h
index b980e47..f64c44f 100644
--- a/src/core/transport/chttp2/frame_goaway.h
+++ b/src/core/lib/transport/chttp2/frame_goaway.h
@@ -31,14 +31,14 @@
  *
  */
 
-#ifndef GRPC_CORE_TRANSPORT_CHTTP2_FRAME_GOAWAY_H
-#define GRPC_CORE_TRANSPORT_CHTTP2_FRAME_GOAWAY_H
+#ifndef GRPC_CORE_LIB_TRANSPORT_CHTTP2_FRAME_GOAWAY_H
+#define GRPC_CORE_LIB_TRANSPORT_CHTTP2_FRAME_GOAWAY_H
 
 #include <grpc/support/port_platform.h>
 #include <grpc/support/slice.h>
 #include <grpc/support/slice_buffer.h>
-#include "src/core/iomgr/exec_ctx.h"
-#include "src/core/transport/chttp2/frame.h"
+#include "src/core/lib/iomgr/exec_ctx.h"
+#include "src/core/lib/transport/chttp2/frame.h"
 
 typedef enum {
   GRPC_CHTTP2_GOAWAY_LSI0,
@@ -74,4 +74,4 @@
                                gpr_slice debug_data,
                                gpr_slice_buffer *slice_buffer);
 
-#endif /* GRPC_CORE_TRANSPORT_CHTTP2_FRAME_GOAWAY_H */
+#endif /* GRPC_CORE_LIB_TRANSPORT_CHTTP2_FRAME_GOAWAY_H */
diff --git a/src/core/transport/chttp2/frame_ping.c b/src/core/lib/transport/chttp2/frame_ping.c
similarity index 95%
rename from src/core/transport/chttp2/frame_ping.c
rename to src/core/lib/transport/chttp2/frame_ping.c
index c6ab522..14ca394 100644
--- a/src/core/transport/chttp2/frame_ping.c
+++ b/src/core/lib/transport/chttp2/frame_ping.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,8 +31,8 @@
  *
  */
 
-#include "src/core/transport/chttp2/frame_ping.h"
-#include "src/core/transport/chttp2/internal.h"
+#include "src/core/lib/transport/chttp2/frame_ping.h"
+#include "src/core/lib/transport/chttp2/internal.h"
 
 #include <string.h>
 
diff --git a/src/core/transport/chttp2/frame_ping.h b/src/core/lib/transport/chttp2/frame_ping.h
similarity index 89%
rename from src/core/transport/chttp2/frame_ping.h
rename to src/core/lib/transport/chttp2/frame_ping.h
index 2412cd7..7640fc4 100644
--- a/src/core/transport/chttp2/frame_ping.h
+++ b/src/core/lib/transport/chttp2/frame_ping.h
@@ -31,12 +31,12 @@
  *
  */
 
-#ifndef GRPC_CORE_TRANSPORT_CHTTP2_FRAME_PING_H
-#define GRPC_CORE_TRANSPORT_CHTTP2_FRAME_PING_H
+#ifndef GRPC_CORE_LIB_TRANSPORT_CHTTP2_FRAME_PING_H
+#define GRPC_CORE_LIB_TRANSPORT_CHTTP2_FRAME_PING_H
 
 #include <grpc/support/slice.h>
-#include "src/core/iomgr/exec_ctx.h"
-#include "src/core/transport/chttp2/frame.h"
+#include "src/core/lib/iomgr/exec_ctx.h"
+#include "src/core/lib/transport/chttp2/frame.h"
 
 typedef struct {
   uint8_t byte;
@@ -53,4 +53,4 @@
     grpc_chttp2_transport_parsing *transport_parsing,
     grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last);
 
-#endif /* GRPC_CORE_TRANSPORT_CHTTP2_FRAME_PING_H */
+#endif /* GRPC_CORE_LIB_TRANSPORT_CHTTP2_FRAME_PING_H */
diff --git a/src/core/transport/chttp2/frame_rst_stream.c b/src/core/lib/transport/chttp2/frame_rst_stream.c
similarity index 94%
rename from src/core/transport/chttp2/frame_rst_stream.c
rename to src/core/lib/transport/chttp2/frame_rst_stream.c
index 754529e..060912a 100644
--- a/src/core/transport/chttp2/frame_rst_stream.c
+++ b/src/core/lib/transport/chttp2/frame_rst_stream.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,12 +31,12 @@
  *
  */
 
-#include "src/core/transport/chttp2/frame_rst_stream.h"
-#include "src/core/transport/chttp2/internal.h"
+#include "src/core/lib/transport/chttp2/frame_rst_stream.h"
+#include "src/core/lib/transport/chttp2/internal.h"
 
 #include <grpc/support/log.h>
 
-#include "src/core/transport/chttp2/frame.h"
+#include "src/core/lib/transport/chttp2/frame.h"
 
 gpr_slice grpc_chttp2_rst_stream_create(uint32_t id, uint32_t code) {
   gpr_slice slice = gpr_slice_malloc(13);
diff --git a/src/core/transport/chttp2/frame_rst_stream.h b/src/core/lib/transport/chttp2/frame_rst_stream.h
similarity index 88%
rename from src/core/transport/chttp2/frame_rst_stream.h
rename to src/core/lib/transport/chttp2/frame_rst_stream.h
index f725c5d..93155fd 100644
--- a/src/core/transport/chttp2/frame_rst_stream.h
+++ b/src/core/lib/transport/chttp2/frame_rst_stream.h
@@ -31,12 +31,12 @@
  *
  */
 
-#ifndef GRPC_CORE_TRANSPORT_CHTTP2_FRAME_RST_STREAM_H
-#define GRPC_CORE_TRANSPORT_CHTTP2_FRAME_RST_STREAM_H
+#ifndef GRPC_CORE_LIB_TRANSPORT_CHTTP2_FRAME_RST_STREAM_H
+#define GRPC_CORE_LIB_TRANSPORT_CHTTP2_FRAME_RST_STREAM_H
 
 #include <grpc/support/slice.h>
-#include "src/core/iomgr/exec_ctx.h"
-#include "src/core/transport/chttp2/frame.h"
+#include "src/core/lib/iomgr/exec_ctx.h"
+#include "src/core/lib/transport/chttp2/frame.h"
 
 typedef struct {
   uint8_t byte;
@@ -52,4 +52,4 @@
     grpc_chttp2_transport_parsing *transport_parsing,
     grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last);
 
-#endif /* GRPC_CORE_TRANSPORT_CHTTP2_FRAME_RST_STREAM_H */
+#endif /* GRPC_CORE_LIB_TRANSPORT_CHTTP2_FRAME_RST_STREAM_H */
diff --git a/src/core/transport/chttp2/frame_settings.c b/src/core/lib/transport/chttp2/frame_settings.c
similarity index 96%
rename from src/core/transport/chttp2/frame_settings.c
rename to src/core/lib/transport/chttp2/frame_settings.c
index cc49dd4..48429c2 100644
--- a/src/core/transport/chttp2/frame_settings.c
+++ b/src/core/lib/transport/chttp2/frame_settings.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,18 +31,18 @@
  *
  */
 
-#include "src/core/transport/chttp2/frame_settings.h"
-#include "src/core/transport/chttp2/internal.h"
+#include "src/core/lib/transport/chttp2/frame_settings.h"
+#include "src/core/lib/transport/chttp2/internal.h"
 
 #include <string.h>
 
 #include <grpc/support/log.h>
 #include <grpc/support/useful.h>
 
-#include "src/core/debug/trace.h"
-#include "src/core/transport/chttp2/frame.h"
-#include "src/core/transport/chttp2/http2_errors.h"
-#include "src/core/transport/chttp2_transport.h"
+#include "src/core/lib/debug/trace.h"
+#include "src/core/lib/transport/chttp2/frame.h"
+#include "src/core/lib/transport/chttp2/http2_errors.h"
+#include "src/core/lib/transport/chttp2_transport.h"
 
 #define MAX_MAX_HEADER_LIST_SIZE (1024 * 1024 * 1024)
 
diff --git a/src/core/transport/chttp2/frame_settings.h b/src/core/lib/transport/chttp2/frame_settings.h
similarity index 93%
rename from src/core/transport/chttp2/frame_settings.h
rename to src/core/lib/transport/chttp2/frame_settings.h
index 59dbff9..8b294de 100644
--- a/src/core/transport/chttp2/frame_settings.h
+++ b/src/core/lib/transport/chttp2/frame_settings.h
@@ -31,13 +31,13 @@
  *
  */
 
-#ifndef GRPC_CORE_TRANSPORT_CHTTP2_FRAME_SETTINGS_H
-#define GRPC_CORE_TRANSPORT_CHTTP2_FRAME_SETTINGS_H
+#ifndef GRPC_CORE_LIB_TRANSPORT_CHTTP2_FRAME_SETTINGS_H
+#define GRPC_CORE_LIB_TRANSPORT_CHTTP2_FRAME_SETTINGS_H
 
 #include <grpc/support/port_platform.h>
 #include <grpc/support/slice.h>
-#include "src/core/iomgr/exec_ctx.h"
-#include "src/core/transport/chttp2/frame.h"
+#include "src/core/lib/iomgr/exec_ctx.h"
+#include "src/core/lib/transport/chttp2/frame.h"
 
 typedef enum {
   GRPC_CHTTP2_SPS_ID0,
@@ -100,4 +100,4 @@
     grpc_chttp2_transport_parsing *transport_parsing,
     grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last);
 
-#endif /* GRPC_CORE_TRANSPORT_CHTTP2_FRAME_SETTINGS_H */
+#endif /* GRPC_CORE_LIB_TRANSPORT_CHTTP2_FRAME_SETTINGS_H */
diff --git a/src/core/transport/chttp2/frame_window_update.c b/src/core/lib/transport/chttp2/frame_window_update.c
similarity index 96%
rename from src/core/transport/chttp2/frame_window_update.c
rename to src/core/lib/transport/chttp2/frame_window_update.c
index 62d9bac..2ab5003 100644
--- a/src/core/transport/chttp2/frame_window_update.c
+++ b/src/core/lib/transport/chttp2/frame_window_update.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,8 +31,8 @@
  *
  */
 
-#include "src/core/transport/chttp2/frame_window_update.h"
-#include "src/core/transport/chttp2/internal.h"
+#include "src/core/lib/transport/chttp2/frame_window_update.h"
+#include "src/core/lib/transport/chttp2/internal.h"
 
 #include <grpc/support/log.h>
 
diff --git a/src/core/transport/chttp2/frame_window_update.h b/src/core/lib/transport/chttp2/frame_window_update.h
similarity index 88%
rename from src/core/transport/chttp2/frame_window_update.h
rename to src/core/lib/transport/chttp2/frame_window_update.h
index 9b7ca3c..4b1aea2 100644
--- a/src/core/transport/chttp2/frame_window_update.h
+++ b/src/core/lib/transport/chttp2/frame_window_update.h
@@ -31,12 +31,12 @@
  *
  */
 
-#ifndef GRPC_CORE_TRANSPORT_CHTTP2_FRAME_WINDOW_UPDATE_H
-#define GRPC_CORE_TRANSPORT_CHTTP2_FRAME_WINDOW_UPDATE_H
+#ifndef GRPC_CORE_LIB_TRANSPORT_CHTTP2_FRAME_WINDOW_UPDATE_H
+#define GRPC_CORE_LIB_TRANSPORT_CHTTP2_FRAME_WINDOW_UPDATE_H
 
 #include <grpc/support/slice.h>
-#include "src/core/iomgr/exec_ctx.h"
-#include "src/core/transport/chttp2/frame.h"
+#include "src/core/lib/iomgr/exec_ctx.h"
+#include "src/core/lib/transport/chttp2/frame.h"
 
 typedef struct {
   uint8_t byte;
@@ -53,4 +53,4 @@
     grpc_chttp2_transport_parsing *transport_parsing,
     grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last);
 
-#endif /* GRPC_CORE_TRANSPORT_CHTTP2_FRAME_WINDOW_UPDATE_H */
+#endif /* GRPC_CORE_LIB_TRANSPORT_CHTTP2_FRAME_WINDOW_UPDATE_H */
diff --git a/src/core/transport/chttp2/hpack_encoder.c b/src/core/lib/transport/chttp2/hpack_encoder.c
similarity index 98%
rename from src/core/transport/chttp2/hpack_encoder.c
rename to src/core/lib/transport/chttp2/hpack_encoder.c
index f30f574..6b45929 100644
--- a/src/core/transport/chttp2/hpack_encoder.c
+++ b/src/core/lib/transport/chttp2/hpack_encoder.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/transport/chttp2/hpack_encoder.h"
+#include "src/core/lib/transport/chttp2/hpack_encoder.h"
 
 #include <assert.h>
 #include <string.h>
@@ -45,11 +45,11 @@
 #include <grpc/support/log.h>
 #include <grpc/support/useful.h>
 
-#include "src/core/transport/chttp2/bin_encoder.h"
-#include "src/core/transport/chttp2/hpack_table.h"
-#include "src/core/transport/chttp2/timeout_encoding.h"
-#include "src/core/transport/chttp2/varint.h"
-#include "src/core/transport/static_metadata.h"
+#include "src/core/lib/transport/chttp2/bin_encoder.h"
+#include "src/core/lib/transport/chttp2/hpack_table.h"
+#include "src/core/lib/transport/chttp2/timeout_encoding.h"
+#include "src/core/lib/transport/chttp2/varint.h"
+#include "src/core/lib/transport/static_metadata.h"
 
 #define HASH_FRAGMENT_1(x) ((x)&255)
 #define HASH_FRAGMENT_2(x) ((x >> 8) & 255)
diff --git a/src/core/transport/chttp2/hpack_encoder.h b/src/core/lib/transport/chttp2/hpack_encoder.h
similarity index 92%
rename from src/core/transport/chttp2/hpack_encoder.h
rename to src/core/lib/transport/chttp2/hpack_encoder.h
index 6d86eb7..de46a8f 100644
--- a/src/core/transport/chttp2/hpack_encoder.h
+++ b/src/core/lib/transport/chttp2/hpack_encoder.h
@@ -31,15 +31,15 @@
  *
  */
 
-#ifndef GRPC_CORE_TRANSPORT_CHTTP2_HPACK_ENCODER_H
-#define GRPC_CORE_TRANSPORT_CHTTP2_HPACK_ENCODER_H
+#ifndef GRPC_CORE_LIB_TRANSPORT_CHTTP2_HPACK_ENCODER_H
+#define GRPC_CORE_LIB_TRANSPORT_CHTTP2_HPACK_ENCODER_H
 
 #include <grpc/support/port_platform.h>
 #include <grpc/support/slice.h>
 #include <grpc/support/slice_buffer.h>
-#include "src/core/transport/chttp2/frame.h"
-#include "src/core/transport/metadata.h"
-#include "src/core/transport/metadata_batch.h"
+#include "src/core/lib/transport/chttp2/frame.h"
+#include "src/core/lib/transport/metadata.h"
+#include "src/core/lib/transport/metadata_batch.h"
 
 #define GRPC_CHTTP2_HPACKC_NUM_FILTERS 256
 #define GRPC_CHTTP2_HPACKC_NUM_VALUES 256
@@ -92,4 +92,4 @@
                                grpc_metadata_batch *metadata, int is_eof,
                                gpr_slice_buffer *outbuf);
 
-#endif /* GRPC_CORE_TRANSPORT_CHTTP2_HPACK_ENCODER_H */
+#endif /* GRPC_CORE_LIB_TRANSPORT_CHTTP2_HPACK_ENCODER_H */
diff --git a/src/core/transport/chttp2/hpack_parser.c b/src/core/lib/transport/chttp2/hpack_parser.c
similarity index 99%
rename from src/core/transport/chttp2/hpack_parser.c
rename to src/core/lib/transport/chttp2/hpack_parser.c
index b6e3692..d41ebab 100644
--- a/src/core/transport/chttp2/hpack_parser.c
+++ b/src/core/lib/transport/chttp2/hpack_parser.c
@@ -31,8 +31,8 @@
  *
  */
 
-#include "src/core/transport/chttp2/hpack_parser.h"
-#include "src/core/transport/chttp2/internal.h"
+#include "src/core/lib/transport/chttp2/hpack_parser.h"
+#include "src/core/lib/transport/chttp2/internal.h"
 
 #include <assert.h>
 #include <stddef.h>
@@ -48,9 +48,9 @@
 #include <grpc/support/port_platform.h>
 #include <grpc/support/useful.h>
 
-#include "src/core/profiling/timers.h"
-#include "src/core/support/string.h"
-#include "src/core/transport/chttp2/bin_encoder.h"
+#include "src/core/lib/profiling/timers.h"
+#include "src/core/lib/support/string.h"
+#include "src/core/lib/transport/chttp2/bin_encoder.h"
 
 typedef enum {
   NOT_BINARY,
diff --git a/src/core/transport/chttp2/hpack_parser.h b/src/core/lib/transport/chttp2/hpack_parser.h
similarity index 91%
rename from src/core/transport/chttp2/hpack_parser.h
rename to src/core/lib/transport/chttp2/hpack_parser.h
index 6a6d136..a534fd5 100644
--- a/src/core/transport/chttp2/hpack_parser.h
+++ b/src/core/lib/transport/chttp2/hpack_parser.h
@@ -31,16 +31,16 @@
  *
  */
 
-#ifndef GRPC_CORE_TRANSPORT_CHTTP2_HPACK_PARSER_H
-#define GRPC_CORE_TRANSPORT_CHTTP2_HPACK_PARSER_H
+#ifndef GRPC_CORE_LIB_TRANSPORT_CHTTP2_HPACK_PARSER_H
+#define GRPC_CORE_LIB_TRANSPORT_CHTTP2_HPACK_PARSER_H
 
 #include <stddef.h>
 
 #include <grpc/support/port_platform.h>
-#include "src/core/iomgr/exec_ctx.h"
-#include "src/core/transport/chttp2/frame.h"
-#include "src/core/transport/chttp2/hpack_table.h"
-#include "src/core/transport/metadata.h"
+#include "src/core/lib/iomgr/exec_ctx.h"
+#include "src/core/lib/transport/chttp2/frame.h"
+#include "src/core/lib/transport/chttp2/hpack_table.h"
+#include "src/core/lib/transport/metadata.h"
 
 typedef struct grpc_chttp2_hpack_parser grpc_chttp2_hpack_parser;
 
@@ -113,4 +113,4 @@
     grpc_chttp2_transport_parsing *transport_parsing,
     grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last);
 
-#endif /* GRPC_CORE_TRANSPORT_CHTTP2_HPACK_PARSER_H */
+#endif /* GRPC_CORE_LIB_TRANSPORT_CHTTP2_HPACK_PARSER_H */
diff --git a/src/core/transport/chttp2/hpack_table.c b/src/core/lib/transport/chttp2/hpack_table.c
similarity index 98%
rename from src/core/transport/chttp2/hpack_table.c
rename to src/core/lib/transport/chttp2/hpack_table.c
index f1ce3b8..f92bc26 100644
--- a/src/core/transport/chttp2/hpack_table.c
+++ b/src/core/lib/transport/chttp2/hpack_table.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/transport/chttp2/hpack_table.h"
+#include "src/core/lib/transport/chttp2/hpack_table.h"
 
 #include <assert.h>
 #include <string.h>
@@ -39,7 +39,7 @@
 #include <grpc/support/alloc.h>
 #include <grpc/support/log.h>
 
-#include "src/core/support/murmur_hash.h"
+#include "src/core/lib/support/murmur_hash.h"
 
 static struct {
   const char *key;
diff --git a/src/core/transport/chttp2/hpack_table.h b/src/core/lib/transport/chttp2/hpack_table.h
similarity index 95%
rename from src/core/transport/chttp2/hpack_table.h
rename to src/core/lib/transport/chttp2/hpack_table.h
index c984ca3..2cbc02d 100644
--- a/src/core/transport/chttp2/hpack_table.h
+++ b/src/core/lib/transport/chttp2/hpack_table.h
@@ -31,12 +31,12 @@
  *
  */
 
-#ifndef GRPC_CORE_TRANSPORT_CHTTP2_HPACK_TABLE_H
-#define GRPC_CORE_TRANSPORT_CHTTP2_HPACK_TABLE_H
+#ifndef GRPC_CORE_LIB_TRANSPORT_CHTTP2_HPACK_TABLE_H
+#define GRPC_CORE_LIB_TRANSPORT_CHTTP2_HPACK_TABLE_H
 
 #include <grpc/support/port_platform.h>
 #include <grpc/support/slice.h>
-#include "src/core/transport/metadata.h"
+#include "src/core/lib/transport/metadata.h"
 
 /* HPACK header table */
 
@@ -105,4 +105,4 @@
 grpc_chttp2_hptbl_find_result grpc_chttp2_hptbl_find(
     const grpc_chttp2_hptbl *tbl, grpc_mdelem *md);
 
-#endif /* GRPC_CORE_TRANSPORT_CHTTP2_HPACK_TABLE_H */
+#endif /* GRPC_CORE_LIB_TRANSPORT_CHTTP2_HPACK_TABLE_H */
diff --git a/src/core/transport/chttp2/hpack_tables.txt b/src/core/lib/transport/chttp2/hpack_tables.txt
similarity index 100%
rename from src/core/transport/chttp2/hpack_tables.txt
rename to src/core/lib/transport/chttp2/hpack_tables.txt
diff --git a/src/core/transport/chttp2/http2_errors.h b/src/core/lib/transport/chttp2/http2_errors.h
similarity index 92%
rename from src/core/transport/chttp2/http2_errors.h
rename to src/core/lib/transport/chttp2/http2_errors.h
index 4290df3..0238f9d 100644
--- a/src/core/transport/chttp2/http2_errors.h
+++ b/src/core/lib/transport/chttp2/http2_errors.h
@@ -31,8 +31,8 @@
  *
  */
 
-#ifndef GRPC_CORE_TRANSPORT_CHTTP2_HTTP2_ERRORS_H
-#define GRPC_CORE_TRANSPORT_CHTTP2_HTTP2_ERRORS_H
+#ifndef GRPC_CORE_LIB_TRANSPORT_CHTTP2_HTTP2_ERRORS_H
+#define GRPC_CORE_LIB_TRANSPORT_CHTTP2_HTTP2_ERRORS_H
 
 /* error codes for RST_STREAM from http2 draft 14 section 7 */
 typedef enum {
@@ -53,4 +53,4 @@
   GRPC_CHTTP2__ERROR_DO_NOT_USE = -1
 } grpc_chttp2_error_code;
 
-#endif /* GRPC_CORE_TRANSPORT_CHTTP2_HTTP2_ERRORS_H */
+#endif /* GRPC_CORE_LIB_TRANSPORT_CHTTP2_HTTP2_ERRORS_H */
diff --git a/src/core/transport/chttp2/huffsyms.c b/src/core/lib/transport/chttp2/huffsyms.c
similarity index 98%
rename from src/core/transport/chttp2/huffsyms.c
rename to src/core/lib/transport/chttp2/huffsyms.c
index ebc85d3..27497e6 100644
--- a/src/core/transport/chttp2/huffsyms.c
+++ b/src/core/lib/transport/chttp2/huffsyms.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/transport/chttp2/huffsyms.h"
+#include "src/core/lib/transport/chttp2/huffsyms.h"
 
 /* Constants pulled from the HPACK spec, and converted to C using the vim
    command:
diff --git a/src/core/transport/chttp2/huffsyms.h b/src/core/lib/transport/chttp2/huffsyms.h
similarity index 91%
rename from src/core/transport/chttp2/huffsyms.h
rename to src/core/lib/transport/chttp2/huffsyms.h
index 9c4f09d..1ca77b9 100644
--- a/src/core/transport/chttp2/huffsyms.h
+++ b/src/core/lib/transport/chttp2/huffsyms.h
@@ -31,8 +31,8 @@
  *
  */
 
-#ifndef GRPC_CORE_TRANSPORT_CHTTP2_HUFFSYMS_H
-#define GRPC_CORE_TRANSPORT_CHTTP2_HUFFSYMS_H
+#ifndef GRPC_CORE_LIB_TRANSPORT_CHTTP2_HUFFSYMS_H
+#define GRPC_CORE_LIB_TRANSPORT_CHTTP2_HUFFSYMS_H
 
 /* HPACK static huffman table */
 
@@ -45,4 +45,4 @@
 
 extern const grpc_chttp2_huffsym grpc_chttp2_huffsyms[GRPC_CHTTP2_NUM_HUFFSYMS];
 
-#endif /* GRPC_CORE_TRANSPORT_CHTTP2_HUFFSYMS_H */
+#endif /* GRPC_CORE_LIB_TRANSPORT_CHTTP2_HUFFSYMS_H */
diff --git a/src/core/transport/chttp2/incoming_metadata.c b/src/core/lib/transport/chttp2/incoming_metadata.c
similarity index 95%
rename from src/core/transport/chttp2/incoming_metadata.c
rename to src/core/lib/transport/chttp2/incoming_metadata.c
index 315bc2f..a1a8d37 100644
--- a/src/core/transport/chttp2/incoming_metadata.c
+++ b/src/core/lib/transport/chttp2/incoming_metadata.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,11 +31,11 @@
  *
  */
 
-#include "src/core/transport/chttp2/incoming_metadata.h"
+#include "src/core/lib/transport/chttp2/incoming_metadata.h"
 
 #include <string.h>
 
-#include "src/core/transport/chttp2/internal.h"
+#include "src/core/lib/transport/chttp2/internal.h"
 
 #include <grpc/support/alloc.h>
 #include <grpc/support/log.h>
diff --git a/src/core/transport/chttp2/incoming_metadata.h b/src/core/lib/transport/chttp2/incoming_metadata.h
similarity index 91%
rename from src/core/transport/chttp2/incoming_metadata.h
rename to src/core/lib/transport/chttp2/incoming_metadata.h
index 52454f3..edfa0ad 100644
--- a/src/core/transport/chttp2/incoming_metadata.h
+++ b/src/core/lib/transport/chttp2/incoming_metadata.h
@@ -31,10 +31,10 @@
  *
  */
 
-#ifndef GRPC_CORE_TRANSPORT_CHTTP2_INCOMING_METADATA_H
-#define GRPC_CORE_TRANSPORT_CHTTP2_INCOMING_METADATA_H
+#ifndef GRPC_CORE_LIB_TRANSPORT_CHTTP2_INCOMING_METADATA_H
+#define GRPC_CORE_LIB_TRANSPORT_CHTTP2_INCOMING_METADATA_H
 
-#include "src/core/transport/transport.h"
+#include "src/core/lib/transport/transport.h"
 
 typedef struct {
   grpc_linked_mdelem *elems;
@@ -57,4 +57,4 @@
 void grpc_chttp2_incoming_metadata_buffer_set_deadline(
     grpc_chttp2_incoming_metadata_buffer *buffer, gpr_timespec deadline);
 
-#endif /* GRPC_CORE_TRANSPORT_CHTTP2_INCOMING_METADATA_H */
+#endif /* GRPC_CORE_LIB_TRANSPORT_CHTTP2_INCOMING_METADATA_H */
diff --git a/src/core/transport/chttp2/internal.h b/src/core/lib/transport/chttp2/internal.h
similarity index 96%
rename from src/core/transport/chttp2/internal.h
rename to src/core/lib/transport/chttp2/internal.h
index 0690cb3..346e404 100644
--- a/src/core/transport/chttp2/internal.h
+++ b/src/core/lib/transport/chttp2/internal.h
@@ -31,26 +31,26 @@
  *
  */
 
-#ifndef GRPC_CORE_TRANSPORT_CHTTP2_INTERNAL_H
-#define GRPC_CORE_TRANSPORT_CHTTP2_INTERNAL_H
+#ifndef GRPC_CORE_LIB_TRANSPORT_CHTTP2_INTERNAL_H
+#define GRPC_CORE_LIB_TRANSPORT_CHTTP2_INTERNAL_H
 
 #include <assert.h>
 #include <stdbool.h>
 
-#include "src/core/iomgr/endpoint.h"
-#include "src/core/transport/chttp2/frame.h"
-#include "src/core/transport/chttp2/frame_data.h"
-#include "src/core/transport/chttp2/frame_goaway.h"
-#include "src/core/transport/chttp2/frame_ping.h"
-#include "src/core/transport/chttp2/frame_rst_stream.h"
-#include "src/core/transport/chttp2/frame_settings.h"
-#include "src/core/transport/chttp2/frame_window_update.h"
-#include "src/core/transport/chttp2/hpack_encoder.h"
-#include "src/core/transport/chttp2/hpack_parser.h"
-#include "src/core/transport/chttp2/incoming_metadata.h"
-#include "src/core/transport/chttp2/stream_map.h"
-#include "src/core/transport/connectivity_state.h"
-#include "src/core/transport/transport_impl.h"
+#include "src/core/lib/iomgr/endpoint.h"
+#include "src/core/lib/transport/chttp2/frame.h"
+#include "src/core/lib/transport/chttp2/frame_data.h"
+#include "src/core/lib/transport/chttp2/frame_goaway.h"
+#include "src/core/lib/transport/chttp2/frame_ping.h"
+#include "src/core/lib/transport/chttp2/frame_rst_stream.h"
+#include "src/core/lib/transport/chttp2/frame_settings.h"
+#include "src/core/lib/transport/chttp2/frame_window_update.h"
+#include "src/core/lib/transport/chttp2/hpack_encoder.h"
+#include "src/core/lib/transport/chttp2/hpack_parser.h"
+#include "src/core/lib/transport/chttp2/incoming_metadata.h"
+#include "src/core/lib/transport/chttp2/stream_map.h"
+#include "src/core/lib/transport/connectivity_state.h"
+#include "src/core/lib/transport/transport_impl.h"
 
 typedef struct grpc_chttp2_transport grpc_chttp2_transport;
 typedef struct grpc_chttp2_stream grpc_chttp2_stream;
@@ -777,4 +777,4 @@
 void grpc_chttp2_become_writable(grpc_chttp2_transport_global *transport_global,
                                  grpc_chttp2_stream_global *stream_global);
 
-#endif /* GRPC_CORE_TRANSPORT_CHTTP2_INTERNAL_H */
+#endif /* GRPC_CORE_LIB_TRANSPORT_CHTTP2_INTERNAL_H */
diff --git a/src/core/transport/chttp2/parsing.c b/src/core/lib/transport/chttp2/parsing.c
similarity index 98%
rename from src/core/transport/chttp2/parsing.c
rename to src/core/lib/transport/chttp2/parsing.c
index 0516f39..9ee52f6 100644
--- a/src/core/transport/chttp2/parsing.c
+++ b/src/core/lib/transport/chttp2/parsing.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/transport/chttp2/internal.h"
+#include "src/core/lib/transport/chttp2/internal.h"
 
 #include <string.h>
 
@@ -39,11 +39,11 @@
 #include <grpc/support/log.h>
 #include <grpc/support/string_util.h>
 
-#include "src/core/profiling/timers.h"
-#include "src/core/transport/chttp2/http2_errors.h"
-#include "src/core/transport/chttp2/status_conversion.h"
-#include "src/core/transport/chttp2/timeout_encoding.h"
-#include "src/core/transport/static_metadata.h"
+#include "src/core/lib/profiling/timers.h"
+#include "src/core/lib/transport/chttp2/http2_errors.h"
+#include "src/core/lib/transport/chttp2/status_conversion.h"
+#include "src/core/lib/transport/chttp2/timeout_encoding.h"
+#include "src/core/lib/transport/static_metadata.h"
 
 static int init_frame_parser(grpc_exec_ctx *exec_ctx,
                              grpc_chttp2_transport_parsing *transport_parsing);
diff --git a/src/core/transport/chttp2/status_conversion.c b/src/core/lib/transport/chttp2/status_conversion.c
similarity index 97%
rename from src/core/transport/chttp2/status_conversion.c
rename to src/core/lib/transport/chttp2/status_conversion.c
index bf214b0..73dd63e 100644
--- a/src/core/transport/chttp2/status_conversion.c
+++ b/src/core/lib/transport/chttp2/status_conversion.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/transport/chttp2/status_conversion.h"
+#include "src/core/lib/transport/chttp2/status_conversion.h"
 
 int grpc_chttp2_grpc_status_to_http2_error(grpc_status_code status) {
   switch (status) {
diff --git a/src/core/transport/chttp2/status_conversion.h b/src/core/lib/transport/chttp2/status_conversion.h
similarity index 89%
rename from src/core/transport/chttp2/status_conversion.h
rename to src/core/lib/transport/chttp2/status_conversion.h
index c6e066b..241417d 100644
--- a/src/core/transport/chttp2/status_conversion.h
+++ b/src/core/lib/transport/chttp2/status_conversion.h
@@ -31,11 +31,11 @@
  *
  */
 
-#ifndef GRPC_CORE_TRANSPORT_CHTTP2_STATUS_CONVERSION_H
-#define GRPC_CORE_TRANSPORT_CHTTP2_STATUS_CONVERSION_H
+#ifndef GRPC_CORE_LIB_TRANSPORT_CHTTP2_STATUS_CONVERSION_H
+#define GRPC_CORE_LIB_TRANSPORT_CHTTP2_STATUS_CONVERSION_H
 
 #include <grpc/grpc.h>
-#include "src/core/transport/chttp2/http2_errors.h"
+#include "src/core/lib/transport/chttp2/http2_errors.h"
 
 /* Conversion of grpc status codes to http2 error codes (for RST_STREAM) */
 grpc_chttp2_error_code grpc_chttp2_grpc_status_to_http2_error(
@@ -47,4 +47,4 @@
 grpc_status_code grpc_chttp2_http2_status_to_grpc_status(int status);
 int grpc_chttp2_grpc_status_to_http2_status(grpc_status_code status);
 
-#endif /* GRPC_CORE_TRANSPORT_CHTTP2_STATUS_CONVERSION_H */
+#endif /* GRPC_CORE_LIB_TRANSPORT_CHTTP2_STATUS_CONVERSION_H */
diff --git a/src/core/transport/chttp2/stream_lists.c b/src/core/lib/transport/chttp2/stream_lists.c
similarity index 99%
rename from src/core/transport/chttp2/stream_lists.c
rename to src/core/lib/transport/chttp2/stream_lists.c
index 60fe735..b51a041 100644
--- a/src/core/transport/chttp2/stream_lists.c
+++ b/src/core/lib/transport/chttp2/stream_lists.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/transport/chttp2/internal.h"
+#include "src/core/lib/transport/chttp2/internal.h"
 
 #include <grpc/support/log.h>
 
diff --git a/src/core/transport/chttp2/stream_map.c b/src/core/lib/transport/chttp2/stream_map.c
similarity index 98%
rename from src/core/transport/chttp2/stream_map.c
rename to src/core/lib/transport/chttp2/stream_map.c
index 555a16f..dbbbe78 100644
--- a/src/core/transport/chttp2/stream_map.c
+++ b/src/core/lib/transport/chttp2/stream_map.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/transport/chttp2/stream_map.h"
+#include "src/core/lib/transport/chttp2/stream_map.h"
 
 #include <string.h>
 
diff --git a/src/core/transport/chttp2/stream_map.h b/src/core/lib/transport/chttp2/stream_map.h
similarity index 95%
rename from src/core/transport/chttp2/stream_map.h
rename to src/core/lib/transport/chttp2/stream_map.h
index 957a58a..1c56b18 100644
--- a/src/core/transport/chttp2/stream_map.h
+++ b/src/core/lib/transport/chttp2/stream_map.h
@@ -31,8 +31,8 @@
  *
  */
 
-#ifndef GRPC_CORE_TRANSPORT_CHTTP2_STREAM_MAP_H
-#define GRPC_CORE_TRANSPORT_CHTTP2_STREAM_MAP_H
+#ifndef GRPC_CORE_LIB_TRANSPORT_CHTTP2_STREAM_MAP_H
+#define GRPC_CORE_LIB_TRANSPORT_CHTTP2_STREAM_MAP_H
 
 #include <grpc/support/port_platform.h>
 
@@ -81,4 +81,4 @@
                                                void *value),
                                      void *user_data);
 
-#endif /* GRPC_CORE_TRANSPORT_CHTTP2_STREAM_MAP_H */
+#endif /* GRPC_CORE_LIB_TRANSPORT_CHTTP2_STREAM_MAP_H */
diff --git a/src/core/transport/chttp2/timeout_encoding.c b/src/core/lib/transport/chttp2/timeout_encoding.c
similarity index 98%
rename from src/core/transport/chttp2/timeout_encoding.c
rename to src/core/lib/transport/chttp2/timeout_encoding.c
index c4802e0..0edacaa 100644
--- a/src/core/transport/chttp2/timeout_encoding.c
+++ b/src/core/lib/transport/chttp2/timeout_encoding.c
@@ -31,13 +31,13 @@
  *
  */
 
-#include "src/core/transport/chttp2/timeout_encoding.h"
+#include "src/core/lib/transport/chttp2/timeout_encoding.h"
 
 #include <stdio.h>
 #include <string.h>
 
 #include <grpc/support/port_platform.h>
-#include "src/core/support/string.h"
+#include "src/core/lib/support/string.h"
 
 static int64_t round_up(int64_t x, int64_t divisor) {
   return (x / divisor + (x % divisor != 0)) * divisor;
diff --git a/src/core/transport/chttp2/timeout_encoding.h b/src/core/lib/transport/chttp2/timeout_encoding.h
similarity index 89%
rename from src/core/transport/chttp2/timeout_encoding.h
rename to src/core/lib/transport/chttp2/timeout_encoding.h
index f8e2522..731beb5 100644
--- a/src/core/transport/chttp2/timeout_encoding.h
+++ b/src/core/lib/transport/chttp2/timeout_encoding.h
@@ -31,11 +31,11 @@
  *
  */
 
-#ifndef GRPC_CORE_TRANSPORT_CHTTP2_TIMEOUT_ENCODING_H
-#define GRPC_CORE_TRANSPORT_CHTTP2_TIMEOUT_ENCODING_H
+#ifndef GRPC_CORE_LIB_TRANSPORT_CHTTP2_TIMEOUT_ENCODING_H
+#define GRPC_CORE_LIB_TRANSPORT_CHTTP2_TIMEOUT_ENCODING_H
 
 #include <grpc/support/time.h>
-#include "src/core/support/string.h"
+#include "src/core/lib/support/string.h"
 
 #define GRPC_CHTTP2_TIMEOUT_ENCODE_MIN_BUFSIZE (GPR_LTOA_MIN_BUFSIZE + 1)
 
@@ -44,4 +44,4 @@
 void grpc_chttp2_encode_timeout(gpr_timespec timeout, char *buffer);
 int grpc_chttp2_decode_timeout(const char *buffer, gpr_timespec *timeout);
 
-#endif /* GRPC_CORE_TRANSPORT_CHTTP2_TIMEOUT_ENCODING_H */
+#endif /* GRPC_CORE_LIB_TRANSPORT_CHTTP2_TIMEOUT_ENCODING_H */
diff --git a/src/core/transport/chttp2/varint.c b/src/core/lib/transport/chttp2/varint.c
similarity index 96%
rename from src/core/transport/chttp2/varint.c
rename to src/core/lib/transport/chttp2/varint.c
index 1cc235e..6dfef45 100644
--- a/src/core/transport/chttp2/varint.c
+++ b/src/core/lib/transport/chttp2/varint.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/transport/chttp2/varint.h"
+#include "src/core/lib/transport/chttp2/varint.h"
 
 uint32_t grpc_chttp2_hpack_varint_length(uint32_t tail_value) {
   if (tail_value < (1 << 7)) {
diff --git a/src/core/transport/chttp2/varint.h b/src/core/lib/transport/chttp2/varint.h
similarity index 95%
rename from src/core/transport/chttp2/varint.h
rename to src/core/lib/transport/chttp2/varint.h
index 7ab9d22..e4a0ae3 100644
--- a/src/core/transport/chttp2/varint.h
+++ b/src/core/lib/transport/chttp2/varint.h
@@ -31,8 +31,8 @@
  *
  */
 
-#ifndef GRPC_CORE_TRANSPORT_CHTTP2_VARINT_H
-#define GRPC_CORE_TRANSPORT_CHTTP2_VARINT_H
+#ifndef GRPC_CORE_LIB_TRANSPORT_CHTTP2_VARINT_H
+#define GRPC_CORE_LIB_TRANSPORT_CHTTP2_VARINT_H
 
 #include <grpc/support/port_platform.h>
 
@@ -72,4 +72,4 @@
     }                                                                         \
   } while (0)
 
-#endif /* GRPC_CORE_TRANSPORT_CHTTP2_VARINT_H */
+#endif /* GRPC_CORE_LIB_TRANSPORT_CHTTP2_VARINT_H */
diff --git a/src/core/transport/chttp2/writing.c b/src/core/lib/transport/chttp2/writing.c
similarity index 98%
rename from src/core/transport/chttp2/writing.c
rename to src/core/lib/transport/chttp2/writing.c
index 107725c..daea331 100644
--- a/src/core/transport/chttp2/writing.c
+++ b/src/core/lib/transport/chttp2/writing.c
@@ -31,14 +31,14 @@
  *
  */
 
-#include "src/core/transport/chttp2/internal.h"
+#include "src/core/lib/transport/chttp2/internal.h"
 
 #include <limits.h>
 
 #include <grpc/support/log.h>
 
-#include "src/core/profiling/timers.h"
-#include "src/core/transport/chttp2/http2_errors.h"
+#include "src/core/lib/profiling/timers.h"
+#include "src/core/lib/transport/chttp2/http2_errors.h"
 
 static void finalize_outbuf(grpc_exec_ctx *exec_ctx,
                             grpc_chttp2_transport_writing *transport_writing);
diff --git a/src/core/transport/chttp2_transport.c b/src/core/lib/transport/chttp2_transport.c
similarity index 99%
rename from src/core/transport/chttp2_transport.c
rename to src/core/lib/transport/chttp2_transport.c
index b45bf31..7fed3d8 100644
--- a/src/core/transport/chttp2_transport.c
+++ b/src/core/lib/transport/chttp2_transport.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/transport/chttp2_transport.h"
+#include "src/core/lib/transport/chttp2_transport.h"
 
 #include <math.h>
 #include <stdio.h>
@@ -43,14 +43,14 @@
 #include <grpc/support/string_util.h>
 #include <grpc/support/useful.h>
 
-#include "src/core/profiling/timers.h"
-#include "src/core/support/string.h"
-#include "src/core/transport/chttp2/http2_errors.h"
-#include "src/core/transport/chttp2/internal.h"
-#include "src/core/transport/chttp2/status_conversion.h"
-#include "src/core/transport/chttp2/timeout_encoding.h"
-#include "src/core/transport/static_metadata.h"
-#include "src/core/transport/transport_impl.h"
+#include "src/core/lib/profiling/timers.h"
+#include "src/core/lib/support/string.h"
+#include "src/core/lib/transport/chttp2/http2_errors.h"
+#include "src/core/lib/transport/chttp2/internal.h"
+#include "src/core/lib/transport/chttp2/status_conversion.h"
+#include "src/core/lib/transport/chttp2/timeout_encoding.h"
+#include "src/core/lib/transport/static_metadata.h"
+#include "src/core/lib/transport/transport_impl.h"
 
 #define DEFAULT_WINDOW 65535
 #define DEFAULT_CONNECTION_WINDOW_TARGET (1024 * 1024)
diff --git a/src/core/transport/chttp2_transport.h b/src/core/lib/transport/chttp2_transport.h
similarity index 88%
rename from src/core/transport/chttp2_transport.h
rename to src/core/lib/transport/chttp2_transport.h
index 9a6cf0e..5008cab 100644
--- a/src/core/transport/chttp2_transport.h
+++ b/src/core/lib/transport/chttp2_transport.h
@@ -31,11 +31,11 @@
  *
  */
 
-#ifndef GRPC_CORE_TRANSPORT_CHTTP2_TRANSPORT_H
-#define GRPC_CORE_TRANSPORT_CHTTP2_TRANSPORT_H
+#ifndef GRPC_CORE_LIB_TRANSPORT_CHTTP2_TRANSPORT_H
+#define GRPC_CORE_LIB_TRANSPORT_CHTTP2_TRANSPORT_H
 
-#include "src/core/iomgr/endpoint.h"
-#include "src/core/transport/transport.h"
+#include "src/core/lib/iomgr/endpoint.h"
+#include "src/core/lib/transport/transport.h"
 
 extern int grpc_http_trace;
 extern int grpc_flowctl_trace;
@@ -48,4 +48,4 @@
                                          grpc_transport *transport,
                                          gpr_slice *slices, size_t nslices);
 
-#endif /* GRPC_CORE_TRANSPORT_CHTTP2_TRANSPORT_H */
+#endif /* GRPC_CORE_LIB_TRANSPORT_CHTTP2_TRANSPORT_H */
diff --git a/src/core/transport/connectivity_state.c b/src/core/lib/transport/connectivity_state.c
similarity index 98%
rename from src/core/transport/connectivity_state.c
rename to src/core/lib/transport/connectivity_state.c
index 87765b9..123eab8 100644
--- a/src/core/transport/connectivity_state.c
+++ b/src/core/lib/transport/connectivity_state.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/transport/connectivity_state.h"
+#include "src/core/lib/transport/connectivity_state.h"
 
 #include <string.h>
 
diff --git a/src/core/transport/connectivity_state.h b/src/core/lib/transport/connectivity_state.h
similarity index 94%
rename from src/core/transport/connectivity_state.h
rename to src/core/lib/transport/connectivity_state.h
index b4a3ce9..6f92132 100644
--- a/src/core/transport/connectivity_state.h
+++ b/src/core/lib/transport/connectivity_state.h
@@ -31,11 +31,11 @@
  *
  */
 
-#ifndef GRPC_CORE_TRANSPORT_CONNECTIVITY_STATE_H
-#define GRPC_CORE_TRANSPORT_CONNECTIVITY_STATE_H
+#ifndef GRPC_CORE_LIB_TRANSPORT_CONNECTIVITY_STATE_H
+#define GRPC_CORE_LIB_TRANSPORT_CONNECTIVITY_STATE_H
 
 #include <grpc/grpc.h>
-#include "src/core/iomgr/exec_ctx.h"
+#include "src/core/lib/iomgr/exec_ctx.h"
 
 typedef struct grpc_connectivity_state_watcher {
   /** we keep watchers in a linked list */
@@ -82,4 +82,4 @@
     grpc_exec_ctx *exec_ctx, grpc_connectivity_state_tracker *tracker,
     grpc_connectivity_state *current, grpc_closure *notify);
 
-#endif /* GRPC_CORE_TRANSPORT_CONNECTIVITY_STATE_H */
+#endif /* GRPC_CORE_LIB_TRANSPORT_CONNECTIVITY_STATE_H */
diff --git a/src/core/transport/metadata.c b/src/core/lib/transport/metadata.c
similarity index 98%
rename from src/core/transport/metadata.c
rename to src/core/lib/transport/metadata.c
index 7ed28fe..7605f09 100644
--- a/src/core/transport/metadata.c
+++ b/src/core/lib/transport/metadata.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/transport/metadata.h"
+#include "src/core/lib/transport/metadata.h"
 
 #include <assert.h>
 #include <stddef.h>
@@ -44,12 +44,12 @@
 #include <grpc/support/string_util.h>
 #include <grpc/support/time.h>
 
-#include "src/core/iomgr/iomgr_internal.h"
-#include "src/core/profiling/timers.h"
-#include "src/core/support/murmur_hash.h"
-#include "src/core/support/string.h"
-#include "src/core/transport/chttp2/bin_encoder.h"
-#include "src/core/transport/static_metadata.h"
+#include "src/core/lib/iomgr/iomgr_internal.h"
+#include "src/core/lib/profiling/timers.h"
+#include "src/core/lib/support/murmur_hash.h"
+#include "src/core/lib/support/string.h"
+#include "src/core/lib/transport/chttp2/bin_encoder.h"
+#include "src/core/lib/transport/static_metadata.h"
 
 /* There are two kinds of mdelem and mdstr instances.
  * Static instances are declared in static_metadata.{h,c} and
diff --git a/src/core/transport/metadata.h b/src/core/lib/transport/metadata.h
similarity index 97%
rename from src/core/transport/metadata.h
rename to src/core/lib/transport/metadata.h
index 5ab3978..d72ec9a 100644
--- a/src/core/transport/metadata.h
+++ b/src/core/lib/transport/metadata.h
@@ -31,8 +31,8 @@
  *
  */
 
-#ifndef GRPC_CORE_TRANSPORT_METADATA_H
-#define GRPC_CORE_TRANSPORT_METADATA_H
+#ifndef GRPC_CORE_LIB_TRANSPORT_METADATA_H
+#define GRPC_CORE_LIB_TRANSPORT_METADATA_H
 
 #include <grpc/support/slice.h>
 #include <grpc/support/useful.h>
@@ -153,4 +153,4 @@
 void grpc_mdctx_global_init(void);
 void grpc_mdctx_global_shutdown(void);
 
-#endif /* GRPC_CORE_TRANSPORT_METADATA_H */
+#endif /* GRPC_CORE_LIB_TRANSPORT_METADATA_H */
diff --git a/src/core/transport/metadata_batch.c b/src/core/lib/transport/metadata_batch.c
similarity index 97%
rename from src/core/transport/metadata_batch.c
rename to src/core/lib/transport/metadata_batch.c
index 1266862..bb79b8f 100644
--- a/src/core/transport/metadata_batch.c
+++ b/src/core/lib/transport/metadata_batch.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,14 +31,14 @@
  *
  */
 
-#include "src/core/transport/metadata_batch.h"
+#include "src/core/lib/transport/metadata_batch.h"
 
 #include <string.h>
 
 #include <grpc/support/alloc.h>
 #include <grpc/support/log.h>
 
-#include "src/core/profiling/timers.h"
+#include "src/core/lib/profiling/timers.h"
 
 static void assert_valid_list(grpc_mdelem_list *list) {
 #ifndef NDEBUG
diff --git a/src/core/transport/metadata_batch.h b/src/core/lib/transport/metadata_batch.h
similarity index 96%
rename from src/core/transport/metadata_batch.h
rename to src/core/lib/transport/metadata_batch.h
index 9337b28..f1d4726 100644
--- a/src/core/transport/metadata_batch.h
+++ b/src/core/lib/transport/metadata_batch.h
@@ -31,14 +31,14 @@
  *
  */
 
-#ifndef GRPC_CORE_TRANSPORT_METADATA_BATCH_H
-#define GRPC_CORE_TRANSPORT_METADATA_BATCH_H
+#ifndef GRPC_CORE_LIB_TRANSPORT_METADATA_BATCH_H
+#define GRPC_CORE_LIB_TRANSPORT_METADATA_BATCH_H
 
 #include <grpc/grpc.h>
 #include <grpc/support/port_platform.h>
 #include <grpc/support/slice.h>
 #include <grpc/support/time.h>
-#include "src/core/transport/metadata.h"
+#include "src/core/lib/transport/metadata.h"
 
 typedef struct grpc_linked_mdelem {
   grpc_mdelem *md;
@@ -122,4 +122,4 @@
   } while (0)
 #endif
 
-#endif /* GRPC_CORE_TRANSPORT_METADATA_BATCH_H */
+#endif /* GRPC_CORE_LIB_TRANSPORT_METADATA_BATCH_H */
diff --git a/src/core/transport/static_metadata.c b/src/core/lib/transport/static_metadata.c
similarity index 98%
rename from src/core/transport/static_metadata.c
rename to src/core/lib/transport/static_metadata.c
index 30bbb89..eda277b 100644
--- a/src/core/transport/static_metadata.c
+++ b/src/core/lib/transport/static_metadata.c
@@ -43,7 +43,7 @@
  * explanation of what's going on.
  */
 
-#include "src/core/transport/static_metadata.h"
+#include "src/core/lib/transport/static_metadata.h"
 
 grpc_mdstr grpc_static_mdstr_table[GRPC_STATIC_MDSTR_COUNT];
 
diff --git a/src/core/transport/static_metadata.h b/src/core/lib/transport/static_metadata.h
similarity index 98%
rename from src/core/transport/static_metadata.h
rename to src/core/lib/transport/static_metadata.h
index 85442f8..aff136a 100644
--- a/src/core/transport/static_metadata.h
+++ b/src/core/lib/transport/static_metadata.h
@@ -43,10 +43,10 @@
  * explanation of what's going on.
  */
 
-#ifndef GRPC_CORE_TRANSPORT_STATIC_METADATA_H
-#define GRPC_CORE_TRANSPORT_STATIC_METADATA_H
+#ifndef GRPC_CORE_LIB_TRANSPORT_STATIC_METADATA_H
+#define GRPC_CORE_LIB_TRANSPORT_STATIC_METADATA_H
 
-#include "src/core/transport/metadata.h"
+#include "src/core/lib/transport/metadata.h"
 
 #define GRPC_STATIC_MDSTR_COUNT 89
 extern grpc_mdstr grpc_static_mdstr_table[GRPC_STATIC_MDSTR_COUNT];
@@ -405,4 +405,4 @@
 extern const uint8_t grpc_static_accept_encoding_metadata[8];
 #define GRPC_MDELEM_ACCEPT_ENCODING_FOR_ALGORITHMS(algs) \
   (&grpc_static_mdelem_table[grpc_static_accept_encoding_metadata[(algs)]])
-#endif /* GRPC_CORE_TRANSPORT_STATIC_METADATA_H */
+#endif /* GRPC_CORE_LIB_TRANSPORT_STATIC_METADATA_H */
diff --git a/src/core/transport/transport.c b/src/core/lib/transport/transport.c
similarity index 98%
rename from src/core/transport/transport.c
rename to src/core/lib/transport/transport.c
index 3b555fa..18256aa 100644
--- a/src/core/transport/transport.c
+++ b/src/core/lib/transport/transport.c
@@ -31,11 +31,11 @@
  *
  */
 
-#include "src/core/transport/transport.h"
+#include "src/core/lib/transport/transport.h"
 #include <grpc/support/alloc.h>
 #include <grpc/support/atm.h>
 #include <grpc/support/log.h>
-#include "src/core/transport/transport_impl.h"
+#include "src/core/lib/transport/transport_impl.h"
 
 #ifdef GRPC_STREAM_REFCOUNT_DEBUG
 void grpc_stream_ref(grpc_stream_refcount *refcount, const char *reason) {
diff --git a/src/core/transport/transport.h b/src/core/lib/transport/transport.h
similarity index 96%
rename from src/core/transport/transport.h
rename to src/core/lib/transport/transport.h
index f43e56f..e98cfe9 100644
--- a/src/core/transport/transport.h
+++ b/src/core/lib/transport/transport.h
@@ -31,16 +31,16 @@
  *
  */
 
-#ifndef GRPC_CORE_TRANSPORT_TRANSPORT_H
-#define GRPC_CORE_TRANSPORT_TRANSPORT_H
+#ifndef GRPC_CORE_LIB_TRANSPORT_TRANSPORT_H
+#define GRPC_CORE_LIB_TRANSPORT_TRANSPORT_H
 
 #include <stddef.h>
 
-#include "src/core/channel/context.h"
-#include "src/core/iomgr/pollset.h"
-#include "src/core/iomgr/pollset_set.h"
-#include "src/core/transport/byte_stream.h"
-#include "src/core/transport/metadata_batch.h"
+#include "src/core/lib/channel/context.h"
+#include "src/core/lib/iomgr/pollset.h"
+#include "src/core/lib/iomgr/pollset_set.h"
+#include "src/core/lib/transport/byte_stream.h"
+#include "src/core/lib/transport/metadata_batch.h"
 
 /* forward declarations */
 typedef struct grpc_transport grpc_transport;
@@ -239,4 +239,4 @@
 char *grpc_transport_get_peer(grpc_exec_ctx *exec_ctx,
                               grpc_transport *transport);
 
-#endif /* GRPC_CORE_TRANSPORT_TRANSPORT_H */
+#endif /* GRPC_CORE_LIB_TRANSPORT_TRANSPORT_H */
diff --git a/src/core/transport/transport_impl.h b/src/core/lib/transport/transport_impl.h
similarity index 94%
rename from src/core/transport/transport_impl.h
rename to src/core/lib/transport/transport_impl.h
index d9ecc4d..92fa5d5 100644
--- a/src/core/transport/transport_impl.h
+++ b/src/core/lib/transport/transport_impl.h
@@ -31,10 +31,10 @@
  *
  */
 
-#ifndef GRPC_CORE_TRANSPORT_TRANSPORT_IMPL_H
-#define GRPC_CORE_TRANSPORT_TRANSPORT_IMPL_H
+#ifndef GRPC_CORE_LIB_TRANSPORT_TRANSPORT_IMPL_H
+#define GRPC_CORE_LIB_TRANSPORT_TRANSPORT_IMPL_H
 
-#include "src/core/transport/transport.h"
+#include "src/core/lib/transport/transport.h"
 
 typedef struct grpc_transport_vtable {
   /* Memory required for a single stream element - this is allocated by upper
@@ -78,4 +78,4 @@
   const grpc_transport_vtable *vtable;
 };
 
-#endif /* GRPC_CORE_TRANSPORT_TRANSPORT_IMPL_H */
+#endif /* GRPC_CORE_LIB_TRANSPORT_TRANSPORT_IMPL_H */
diff --git a/src/core/transport/transport_op_string.c b/src/core/lib/transport/transport_op_string.c
similarity index 97%
rename from src/core/transport/transport_op_string.c
rename to src/core/lib/transport/transport_op_string.c
index 8453412..1fa8fa5 100644
--- a/src/core/transport/transport_op_string.c
+++ b/src/core/lib/transport/transport_op_string.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/channel/channel_stack.h"
+#include "src/core/lib/channel/channel_stack.h"
 
 #include <stdarg.h>
 #include <stdio.h>
@@ -40,7 +40,7 @@
 #include <grpc/support/alloc.h>
 #include <grpc/support/string_util.h>
 #include <grpc/support/useful.h>
-#include "src/core/support/string.h"
+#include "src/core/lib/support/string.h"
 
 /* These routines are here to facilitate debugging - they produce string
    representations of various transport data structures */
diff --git a/src/core/tsi/fake_transport_security.c b/src/core/lib/tsi/fake_transport_security.c
similarity index 99%
rename from src/core/tsi/fake_transport_security.c
rename to src/core/lib/tsi/fake_transport_security.c
index c0106f7..4b812f4 100644
--- a/src/core/tsi/fake_transport_security.c
+++ b/src/core/lib/tsi/fake_transport_security.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/tsi/fake_transport_security.h"
+#include "src/core/lib/tsi/fake_transport_security.h"
 
 #include <stdlib.h>
 #include <string.h>
@@ -39,7 +39,7 @@
 #include <grpc/support/log.h>
 #include <grpc/support/port_platform.h>
 #include <grpc/support/useful.h>
-#include "src/core/tsi/transport_security.h"
+#include "src/core/lib/tsi/transport_security.h"
 
 /* --- Constants. ---*/
 #define TSI_FAKE_FRAME_HEADER_SIZE 4
diff --git a/src/core/tsi/fake_transport_security.h b/src/core/lib/tsi/fake_transport_security.h
similarity index 90%
rename from src/core/tsi/fake_transport_security.h
rename to src/core/lib/tsi/fake_transport_security.h
index 6b8e596..b887dfc 100644
--- a/src/core/tsi/fake_transport_security.h
+++ b/src/core/lib/tsi/fake_transport_security.h
@@ -31,10 +31,10 @@
  *
  */
 
-#ifndef GRPC_CORE_TSI_FAKE_TRANSPORT_SECURITY_H
-#define GRPC_CORE_TSI_FAKE_TRANSPORT_SECURITY_H
+#ifndef GRPC_CORE_LIB_TSI_FAKE_TRANSPORT_SECURITY_H
+#define GRPC_CORE_LIB_TSI_FAKE_TRANSPORT_SECURITY_H
 
-#include "src/core/tsi/transport_security_interface.h"
+#include "src/core/lib/tsi/transport_security_interface.h"
 
 #ifdef __cplusplus
 extern "C" {
@@ -58,4 +58,4 @@
 }
 #endif
 
-#endif /* GRPC_CORE_TSI_FAKE_TRANSPORT_SECURITY_H */
+#endif /* GRPC_CORE_LIB_TSI_FAKE_TRANSPORT_SECURITY_H */
diff --git a/src/core/tsi/ssl_transport_security.c b/src/core/lib/tsi/ssl_transport_security.c
similarity index 99%
rename from src/core/tsi/ssl_transport_security.c
rename to src/core/lib/tsi/ssl_transport_security.c
index 8df5826..d03201e 100644
--- a/src/core/tsi/ssl_transport_security.c
+++ b/src/core/lib/tsi/ssl_transport_security.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/tsi/ssl_transport_security.h"
+#include "src/core/lib/tsi/ssl_transport_security.h"
 
 #include <grpc/support/port_platform.h>
 
@@ -57,8 +57,8 @@
 #include <openssl/x509.h>
 #include <openssl/x509v3.h>
 
-#include "src/core/tsi/ssl_types.h"
-#include "src/core/tsi/transport_security.h"
+#include "src/core/lib/tsi/ssl_types.h"
+#include "src/core/lib/tsi/transport_security.h"
 
 /* --- Constants. ---*/
 
diff --git a/src/core/tsi/ssl_transport_security.h b/src/core/lib/tsi/ssl_transport_security.h
similarity index 97%
rename from src/core/tsi/ssl_transport_security.h
rename to src/core/lib/tsi/ssl_transport_security.h
index 612f5c6..c9b9e8f 100644
--- a/src/core/tsi/ssl_transport_security.h
+++ b/src/core/lib/tsi/ssl_transport_security.h
@@ -31,10 +31,10 @@
  *
  */
 
-#ifndef GRPC_CORE_TSI_SSL_TRANSPORT_SECURITY_H
-#define GRPC_CORE_TSI_SSL_TRANSPORT_SECURITY_H
+#ifndef GRPC_CORE_LIB_TSI_SSL_TRANSPORT_SECURITY_H
+#define GRPC_CORE_LIB_TSI_SSL_TRANSPORT_SECURITY_H
 
-#include "src/core/tsi/transport_security_interface.h"
+#include "src/core/lib/tsi/transport_security_interface.h"
 
 #ifdef __cplusplus
 extern "C" {
@@ -171,4 +171,4 @@
 }
 #endif
 
-#endif /* GRPC_CORE_TSI_SSL_TRANSPORT_SECURITY_H */
+#endif /* GRPC_CORE_LIB_TSI_SSL_TRANSPORT_SECURITY_H */
diff --git a/src/core/tsi/ssl_types.h b/src/core/lib/tsi/ssl_types.h
similarity index 94%
rename from src/core/tsi/ssl_types.h
rename to src/core/lib/tsi/ssl_types.h
index 6ea85fe..c6e68c0 100644
--- a/src/core/tsi/ssl_types.h
+++ b/src/core/lib/tsi/ssl_types.h
@@ -31,8 +31,8 @@
  *
  */
 
-#ifndef GRPC_CORE_TSI_SSL_TYPES_H
-#define GRPC_CORE_TSI_SSL_TYPES_H
+#ifndef GRPC_CORE_LIB_TSI_SSL_TYPES_H
+#define GRPC_CORE_LIB_TSI_SSL_TYPES_H
 
 /* A collection of macros to cast between various integer types that are
  * used differently between BoringSSL and OpenSSL:
@@ -52,4 +52,4 @@
 #define TSI_SIZE_AS_SIZE(x) ((int)(x))
 #endif
 
-#endif /* GRPC_CORE_TSI_SSL_TYPES_H */
+#endif /* GRPC_CORE_LIB_TSI_SSL_TYPES_H */
diff --git a/src/core/tsi/test_creds/README b/src/core/lib/tsi/test_creds/README
similarity index 100%
rename from src/core/tsi/test_creds/README
rename to src/core/lib/tsi/test_creds/README
diff --git a/src/core/tsi/test_creds/badclient.key b/src/core/lib/tsi/test_creds/badclient.key
similarity index 100%
rename from src/core/tsi/test_creds/badclient.key
rename to src/core/lib/tsi/test_creds/badclient.key
diff --git a/src/core/tsi/test_creds/badclient.pem b/src/core/lib/tsi/test_creds/badclient.pem
similarity index 100%
rename from src/core/tsi/test_creds/badclient.pem
rename to src/core/lib/tsi/test_creds/badclient.pem
diff --git a/src/core/tsi/test_creds/badserver.key b/src/core/lib/tsi/test_creds/badserver.key
similarity index 100%
rename from src/core/tsi/test_creds/badserver.key
rename to src/core/lib/tsi/test_creds/badserver.key
diff --git a/src/core/tsi/test_creds/badserver.pem b/src/core/lib/tsi/test_creds/badserver.pem
similarity index 100%
rename from src/core/tsi/test_creds/badserver.pem
rename to src/core/lib/tsi/test_creds/badserver.pem
diff --git a/src/core/tsi/test_creds/ca-openssl.cnf b/src/core/lib/tsi/test_creds/ca-openssl.cnf
similarity index 100%
rename from src/core/tsi/test_creds/ca-openssl.cnf
rename to src/core/lib/tsi/test_creds/ca-openssl.cnf
diff --git a/src/core/tsi/test_creds/ca.key b/src/core/lib/tsi/test_creds/ca.key
similarity index 100%
rename from src/core/tsi/test_creds/ca.key
rename to src/core/lib/tsi/test_creds/ca.key
diff --git a/src/core/tsi/test_creds/ca.pem b/src/core/lib/tsi/test_creds/ca.pem
similarity index 100%
rename from src/core/tsi/test_creds/ca.pem
rename to src/core/lib/tsi/test_creds/ca.pem
diff --git a/src/core/tsi/test_creds/client.key b/src/core/lib/tsi/test_creds/client.key
similarity index 100%
rename from src/core/tsi/test_creds/client.key
rename to src/core/lib/tsi/test_creds/client.key
diff --git a/src/core/tsi/test_creds/client.pem b/src/core/lib/tsi/test_creds/client.pem
similarity index 100%
rename from src/core/tsi/test_creds/client.pem
rename to src/core/lib/tsi/test_creds/client.pem
diff --git a/src/core/tsi/test_creds/server0.key b/src/core/lib/tsi/test_creds/server0.key
similarity index 100%
rename from src/core/tsi/test_creds/server0.key
rename to src/core/lib/tsi/test_creds/server0.key
diff --git a/src/core/tsi/test_creds/server0.pem b/src/core/lib/tsi/test_creds/server0.pem
similarity index 100%
rename from src/core/tsi/test_creds/server0.pem
rename to src/core/lib/tsi/test_creds/server0.pem
diff --git a/src/core/tsi/test_creds/server1-openssl.cnf b/src/core/lib/tsi/test_creds/server1-openssl.cnf
similarity index 100%
rename from src/core/tsi/test_creds/server1-openssl.cnf
rename to src/core/lib/tsi/test_creds/server1-openssl.cnf
diff --git a/src/core/tsi/test_creds/server1.key b/src/core/lib/tsi/test_creds/server1.key
similarity index 100%
rename from src/core/tsi/test_creds/server1.key
rename to src/core/lib/tsi/test_creds/server1.key
diff --git a/src/core/tsi/test_creds/server1.pem b/src/core/lib/tsi/test_creds/server1.pem
similarity index 100%
rename from src/core/tsi/test_creds/server1.pem
rename to src/core/lib/tsi/test_creds/server1.pem
diff --git a/src/core/tsi/transport_security.c b/src/core/lib/tsi/transport_security.c
similarity index 98%
rename from src/core/tsi/transport_security.c
rename to src/core/lib/tsi/transport_security.c
index db219a5..a2c0d46 100644
--- a/src/core/tsi/transport_security.c
+++ b/src/core/lib/tsi/transport_security.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/tsi/transport_security.h"
+#include "src/core/lib/tsi/transport_security.h"
 
 #include <stdlib.h>
 #include <string.h>
diff --git a/src/core/tsi/transport_security.h b/src/core/lib/tsi/transport_security.h
similarity index 95%
rename from src/core/tsi/transport_security.h
rename to src/core/lib/tsi/transport_security.h
index ecc0371..349dd0a 100644
--- a/src/core/tsi/transport_security.h
+++ b/src/core/lib/tsi/transport_security.h
@@ -31,10 +31,10 @@
  *
  */
 
-#ifndef GRPC_CORE_TSI_TRANSPORT_SECURITY_H
-#define GRPC_CORE_TSI_TRANSPORT_SECURITY_H
+#ifndef GRPC_CORE_LIB_TSI_TRANSPORT_SECURITY_H
+#define GRPC_CORE_LIB_TSI_TRANSPORT_SECURITY_H
 
-#include "src/core/tsi/transport_security_interface.h"
+#include "src/core/lib/tsi/transport_security_interface.h"
 
 #ifdef __cplusplus
 extern "C" {
@@ -108,4 +108,4 @@
 }
 #endif
 
-#endif /* GRPC_CORE_TSI_TRANSPORT_SECURITY_H */
+#endif /* GRPC_CORE_LIB_TSI_TRANSPORT_SECURITY_H */
diff --git a/src/core/tsi/transport_security_interface.h b/src/core/lib/tsi/transport_security_interface.h
similarity index 98%
rename from src/core/tsi/transport_security_interface.h
rename to src/core/lib/tsi/transport_security_interface.h
index 0850180..f88f151 100644
--- a/src/core/tsi/transport_security_interface.h
+++ b/src/core/lib/tsi/transport_security_interface.h
@@ -31,8 +31,8 @@
  *
  */
 
-#ifndef GRPC_CORE_TSI_TRANSPORT_SECURITY_INTERFACE_H
-#define GRPC_CORE_TSI_TRANSPORT_SECURITY_INTERFACE_H
+#ifndef GRPC_CORE_LIB_TSI_TRANSPORT_SECURITY_INTERFACE_H
+#define GRPC_CORE_LIB_TSI_TRANSPORT_SECURITY_INTERFACE_H
 
 #include <stdint.h>
 #include <stdlib.h>
@@ -341,4 +341,4 @@
 }
 #endif
 
-#endif /* GRPC_CORE_TSI_TRANSPORT_SECURITY_INTERFACE_H */
+#endif /* GRPC_CORE_LIB_TSI_TRANSPORT_SECURITY_INTERFACE_H */
diff --git a/src/cpp/client/channel.cc b/src/cpp/client/channel.cc
index ae20392..f174676 100644
--- a/src/cpp/client/channel.cc
+++ b/src/cpp/client/channel.cc
@@ -49,7 +49,7 @@
 #include <grpc/grpc.h>
 #include <grpc/support/log.h>
 #include <grpc/support/slice.h>
-#include "src/core/profiling/timers.h"
+#include "src/core/lib/profiling/timers.h"
 
 namespace grpc {
 
diff --git a/src/cpp/client/client_context.cc b/src/cpp/client/client_context.cc
index db636a5..de8b2db 100644
--- a/src/cpp/client/client_context.cc
+++ b/src/cpp/client/client_context.cc
@@ -41,7 +41,7 @@
 #include <grpc/support/alloc.h>
 #include <grpc/support/string_util.h>
 
-#include "src/core/channel/compress_filter.h"
+#include "src/core/lib/channel/compress_filter.h"
 #include "src/cpp/common/create_auth_context.h"
 
 namespace grpc {
diff --git a/src/cpp/common/channel_arguments.cc b/src/cpp/common/channel_arguments.cc
index d7faa5e..3bdb439 100644
--- a/src/cpp/common/channel_arguments.cc
+++ b/src/cpp/common/channel_arguments.cc
@@ -36,7 +36,7 @@
 
 #include <grpc/impl/codegen/grpc_types.h>
 #include <grpc/support/log.h>
-#include "src/core/channel/channel_args.h"
+#include "src/core/lib/channel/channel_args.h"
 
 namespace grpc {
 
diff --git a/src/cpp/common/core_codegen.cc b/src/cpp/common/core_codegen.cc
index 45e9e27..33a8f75 100644
--- a/src/cpp/common/core_codegen.cc
+++ b/src/cpp/common/core_codegen.cc
@@ -46,7 +46,7 @@
 #include <grpc/support/slice.h>
 #include <grpc/support/slice_buffer.h>
 
-#include "src/core/profiling/timers.h"
+#include "src/core/lib/profiling/timers.h"
 
 namespace {
 
diff --git a/src/cpp/common/secure_channel_arguments.cc b/src/cpp/common/secure_channel_arguments.cc
index e17d3b5..82e02f0 100644
--- a/src/cpp/common/secure_channel_arguments.cc
+++ b/src/cpp/common/secure_channel_arguments.cc
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -34,7 +34,7 @@
 #include <grpc++/support/channel_arguments.h>
 
 #include <grpc/grpc_security.h>
-#include "src/core/channel/channel_args.h"
+#include "src/core/lib/channel/channel_args.h"
 
 namespace grpc {
 
diff --git a/src/cpp/server/server.cc b/src/cpp/server/server.cc
index 6d31a60..7e5f557 100644
--- a/src/cpp/server/server.cc
+++ b/src/cpp/server/server.cc
@@ -49,7 +49,7 @@
 #include <grpc/support/alloc.h>
 #include <grpc/support/log.h>
 
-#include "src/core/profiling/timers.h"
+#include "src/core/lib/profiling/timers.h"
 #include "src/cpp/server/thread_pool_interface.h"
 
 namespace grpc {
diff --git a/src/cpp/server/server_context.cc b/src/cpp/server/server_context.cc
index 5d12ce2..0422650 100644
--- a/src/cpp/server/server_context.cc
+++ b/src/cpp/server/server_context.cc
@@ -42,8 +42,8 @@
 #include <grpc/support/alloc.h>
 #include <grpc/support/log.h>
 
-#include "src/core/channel/compress_filter.h"
-#include "src/core/surface/call.h"
+#include "src/core/lib/channel/compress_filter.h"
+#include "src/core/lib/surface/call.h"
 #include "src/cpp/common/create_auth_context.h"
 
 namespace grpc {
diff --git a/src/csharp/ext/grpc_csharp_ext.c b/src/csharp/ext/grpc_csharp_ext.c
index 1df74a0..642dc9e 100644
--- a/src/csharp/ext/grpc_csharp_ext.c
+++ b/src/csharp/ext/grpc_csharp_ext.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/support/string.h"
+#include "src/core/lib/support/string.h"
 
 #include <grpc/byte_buffer_reader.h>
 #include <grpc/support/port_platform.h>
diff --git a/src/python/grpcio/grpc_core_dependencies.py b/src/python/grpcio/grpc_core_dependencies.py
index 27cd8d6..a5bc18a 100644
--- a/src/python/grpcio/grpc_core_dependencies.py
+++ b/src/python/grpcio/grpc_core_dependencies.py
@@ -30,211 +30,211 @@
 # AUTO-GENERATED FROM `$REPO_ROOT/templates/src/python/grpcio/grpc_core_dependencies.py.template`!!!
 
 CORE_SOURCE_FILES = [
-  'src/core/profiling/basic_timers.c',
-  'src/core/profiling/stap_timers.c',
-  'src/core/support/alloc.c',
-  'src/core/support/avl.c',
-  'src/core/support/backoff.c',
-  'src/core/support/cmdline.c',
-  'src/core/support/cpu_iphone.c',
-  'src/core/support/cpu_linux.c',
-  'src/core/support/cpu_posix.c',
-  'src/core/support/cpu_windows.c',
-  'src/core/support/env_linux.c',
-  'src/core/support/env_posix.c',
-  'src/core/support/env_win32.c',
-  'src/core/support/histogram.c',
-  'src/core/support/host_port.c',
-  'src/core/support/load_file.c',
-  'src/core/support/log.c',
-  'src/core/support/log_android.c',
-  'src/core/support/log_linux.c',
-  'src/core/support/log_posix.c',
-  'src/core/support/log_win32.c',
-  'src/core/support/murmur_hash.c',
-  'src/core/support/slice.c',
-  'src/core/support/slice_buffer.c',
-  'src/core/support/stack_lockfree.c',
-  'src/core/support/string.c',
-  'src/core/support/string_posix.c',
-  'src/core/support/string_win32.c',
-  'src/core/support/subprocess_posix.c',
-  'src/core/support/subprocess_windows.c',
-  'src/core/support/sync.c',
-  'src/core/support/sync_posix.c',
-  'src/core/support/sync_win32.c',
-  'src/core/support/thd.c',
-  'src/core/support/thd_posix.c',
-  'src/core/support/thd_win32.c',
-  'src/core/support/time.c',
-  'src/core/support/time_posix.c',
-  'src/core/support/time_precise.c',
-  'src/core/support/time_win32.c',
-  'src/core/support/tls_pthread.c',
-  'src/core/support/tmpfile_posix.c',
-  'src/core/support/tmpfile_win32.c',
-  'src/core/support/wrap_memcpy.c',
-  'src/core/census/grpc_context.c',
-  'src/core/census/grpc_filter.c',
-  'src/core/census/grpc_plugin.c',
-  'src/core/channel/channel_args.c',
-  'src/core/channel/channel_stack.c',
-  'src/core/channel/channel_stack_builder.c',
-  'src/core/channel/client_channel.c',
-  'src/core/channel/compress_filter.c',
-  'src/core/channel/connected_channel.c',
-  'src/core/channel/http_client_filter.c',
-  'src/core/channel/http_server_filter.c',
-  'src/core/channel/subchannel_call_holder.c',
-  'src/core/client_config/client_config.c',
-  'src/core/client_config/connector.c',
-  'src/core/client_config/default_initial_connect_string.c',
-  'src/core/client_config/initial_connect_string.c',
-  'src/core/client_config/lb_policies/load_balancer_api.c',
-  'src/core/client_config/lb_policies/pick_first.c',
-  'src/core/client_config/lb_policies/round_robin.c',
-  'src/core/client_config/lb_policy.c',
-  'src/core/client_config/lb_policy_factory.c',
-  'src/core/client_config/lb_policy_registry.c',
-  'src/core/client_config/resolver.c',
-  'src/core/client_config/resolver_factory.c',
-  'src/core/client_config/resolver_registry.c',
-  'src/core/client_config/resolvers/dns_resolver.c',
-  'src/core/client_config/resolvers/sockaddr_resolver.c',
-  'src/core/client_config/subchannel.c',
-  'src/core/client_config/subchannel_factory.c',
-  'src/core/client_config/subchannel_index.c',
-  'src/core/client_config/uri_parser.c',
-  'src/core/compression/compression_algorithm.c',
-  'src/core/compression/message_compress.c',
-  'src/core/debug/trace.c',
-  'src/core/http/format_request.c',
-  'src/core/http/httpcli.c',
-  'src/core/http/parser.c',
-  'src/core/iomgr/closure.c',
-  'src/core/iomgr/endpoint.c',
-  'src/core/iomgr/endpoint_pair_posix.c',
-  'src/core/iomgr/endpoint_pair_windows.c',
-  'src/core/iomgr/exec_ctx.c',
-  'src/core/iomgr/executor.c',
-  'src/core/iomgr/fd_posix.c',
-  'src/core/iomgr/iocp_windows.c',
-  'src/core/iomgr/iomgr.c',
-  'src/core/iomgr/iomgr_posix.c',
-  'src/core/iomgr/iomgr_windows.c',
-  'src/core/iomgr/pollset_multipoller_with_epoll.c',
-  'src/core/iomgr/pollset_multipoller_with_poll_posix.c',
-  'src/core/iomgr/pollset_posix.c',
-  'src/core/iomgr/pollset_set_posix.c',
-  'src/core/iomgr/pollset_set_windows.c',
-  'src/core/iomgr/pollset_windows.c',
-  'src/core/iomgr/resolve_address_posix.c',
-  'src/core/iomgr/resolve_address_windows.c',
-  'src/core/iomgr/sockaddr_utils.c',
-  'src/core/iomgr/socket_utils_common_posix.c',
-  'src/core/iomgr/socket_utils_linux.c',
-  'src/core/iomgr/socket_utils_posix.c',
-  'src/core/iomgr/socket_windows.c',
-  'src/core/iomgr/tcp_client_posix.c',
-  'src/core/iomgr/tcp_client_windows.c',
-  'src/core/iomgr/tcp_posix.c',
-  'src/core/iomgr/tcp_server_posix.c',
-  'src/core/iomgr/tcp_server_windows.c',
-  'src/core/iomgr/tcp_windows.c',
-  'src/core/iomgr/time_averaged_stats.c',
-  'src/core/iomgr/timer.c',
-  'src/core/iomgr/timer_heap.c',
-  'src/core/iomgr/udp_server.c',
-  'src/core/iomgr/unix_sockets_posix.c',
-  'src/core/iomgr/unix_sockets_posix_noop.c',
-  'src/core/iomgr/wakeup_fd_eventfd.c',
-  'src/core/iomgr/wakeup_fd_nospecial.c',
-  'src/core/iomgr/wakeup_fd_pipe.c',
-  'src/core/iomgr/wakeup_fd_posix.c',
-  'src/core/iomgr/workqueue_posix.c',
-  'src/core/iomgr/workqueue_windows.c',
-  'src/core/json/json.c',
-  'src/core/json/json_reader.c',
-  'src/core/json/json_string.c',
-  'src/core/json/json_writer.c',
-  'src/core/proto/grpc/lb/v0/load_balancer.pb.c',
-  'src/core/surface/alarm.c',
-  'src/core/surface/api_trace.c',
-  'src/core/surface/byte_buffer.c',
-  'src/core/surface/byte_buffer_reader.c',
-  'src/core/surface/call.c',
-  'src/core/surface/call_details.c',
-  'src/core/surface/call_log_batch.c',
-  'src/core/surface/channel.c',
-  'src/core/surface/channel_connectivity.c',
-  'src/core/surface/channel_create.c',
-  'src/core/surface/channel_init.c',
-  'src/core/surface/channel_ping.c',
-  'src/core/surface/channel_stack_type.c',
-  'src/core/surface/completion_queue.c',
-  'src/core/surface/event_string.c',
-  'src/core/surface/init.c',
-  'src/core/surface/lame_client.c',
-  'src/core/surface/metadata_array.c',
-  'src/core/surface/server.c',
-  'src/core/surface/server_chttp2.c',
-  'src/core/surface/validate_metadata.c',
-  'src/core/surface/version.c',
-  'src/core/transport/byte_stream.c',
-  'src/core/transport/chttp2/alpn.c',
-  'src/core/transport/chttp2/bin_encoder.c',
-  'src/core/transport/chttp2/frame_data.c',
-  'src/core/transport/chttp2/frame_goaway.c',
-  'src/core/transport/chttp2/frame_ping.c',
-  'src/core/transport/chttp2/frame_rst_stream.c',
-  'src/core/transport/chttp2/frame_settings.c',
-  'src/core/transport/chttp2/frame_window_update.c',
-  'src/core/transport/chttp2/hpack_encoder.c',
-  'src/core/transport/chttp2/hpack_parser.c',
-  'src/core/transport/chttp2/hpack_table.c',
-  'src/core/transport/chttp2/huffsyms.c',
-  'src/core/transport/chttp2/incoming_metadata.c',
-  'src/core/transport/chttp2/parsing.c',
-  'src/core/transport/chttp2/status_conversion.c',
-  'src/core/transport/chttp2/stream_lists.c',
-  'src/core/transport/chttp2/stream_map.c',
-  'src/core/transport/chttp2/timeout_encoding.c',
-  'src/core/transport/chttp2/varint.c',
-  'src/core/transport/chttp2/writing.c',
-  'src/core/transport/chttp2_transport.c',
-  'src/core/transport/connectivity_state.c',
-  'src/core/transport/metadata.c',
-  'src/core/transport/metadata_batch.c',
-  'src/core/transport/static_metadata.c',
-  'src/core/transport/transport.c',
-  'src/core/transport/transport_op_string.c',
-  'src/core/http/httpcli_security_connector.c',
-  'src/core/security/b64.c',
-  'src/core/security/client_auth_filter.c',
-  'src/core/security/credentials.c',
-  'src/core/security/credentials_metadata.c',
-  'src/core/security/credentials_posix.c',
-  'src/core/security/credentials_win32.c',
-  'src/core/security/google_default_credentials.c',
-  'src/core/security/handshake.c',
-  'src/core/security/json_token.c',
-  'src/core/security/jwt_verifier.c',
-  'src/core/security/secure_endpoint.c',
-  'src/core/security/security_connector.c',
-  'src/core/security/security_context.c',
-  'src/core/security/server_auth_filter.c',
-  'src/core/security/server_secure_chttp2.c',
-  'src/core/surface/init_secure.c',
-  'src/core/surface/secure_channel_create.c',
-  'src/core/tsi/fake_transport_security.c',
-  'src/core/tsi/ssl_transport_security.c',
-  'src/core/tsi/transport_security.c',
-  'src/core/census/context.c',
-  'src/core/census/initialize.c',
-  'src/core/census/mlog.c',
-  'src/core/census/operation.c',
-  'src/core/census/placeholders.c',
-  'src/core/census/tracing.c',
+  'src/core/lib/profiling/basic_timers.c',
+  'src/core/lib/profiling/stap_timers.c',
+  'src/core/lib/support/alloc.c',
+  'src/core/lib/support/avl.c',
+  'src/core/lib/support/backoff.c',
+  'src/core/lib/support/cmdline.c',
+  'src/core/lib/support/cpu_iphone.c',
+  'src/core/lib/support/cpu_linux.c',
+  'src/core/lib/support/cpu_posix.c',
+  'src/core/lib/support/cpu_windows.c',
+  'src/core/lib/support/env_linux.c',
+  'src/core/lib/support/env_posix.c',
+  'src/core/lib/support/env_win32.c',
+  'src/core/lib/support/histogram.c',
+  'src/core/lib/support/host_port.c',
+  'src/core/lib/support/load_file.c',
+  'src/core/lib/support/log.c',
+  'src/core/lib/support/log_android.c',
+  'src/core/lib/support/log_linux.c',
+  'src/core/lib/support/log_posix.c',
+  'src/core/lib/support/log_win32.c',
+  'src/core/lib/support/murmur_hash.c',
+  'src/core/lib/support/slice.c',
+  'src/core/lib/support/slice_buffer.c',
+  'src/core/lib/support/stack_lockfree.c',
+  'src/core/lib/support/string.c',
+  'src/core/lib/support/string_posix.c',
+  'src/core/lib/support/string_win32.c',
+  'src/core/lib/support/subprocess_posix.c',
+  'src/core/lib/support/subprocess_windows.c',
+  'src/core/lib/support/sync.c',
+  'src/core/lib/support/sync_posix.c',
+  'src/core/lib/support/sync_win32.c',
+  'src/core/lib/support/thd.c',
+  'src/core/lib/support/thd_posix.c',
+  'src/core/lib/support/thd_win32.c',
+  'src/core/lib/support/time.c',
+  'src/core/lib/support/time_posix.c',
+  'src/core/lib/support/time_precise.c',
+  'src/core/lib/support/time_win32.c',
+  'src/core/lib/support/tls_pthread.c',
+  'src/core/lib/support/tmpfile_posix.c',
+  'src/core/lib/support/tmpfile_win32.c',
+  'src/core/lib/support/wrap_memcpy.c',
+  'src/core/lib/census/grpc_context.c',
+  'src/core/lib/census/grpc_filter.c',
+  'src/core/lib/census/grpc_plugin.c',
+  'src/core/lib/channel/channel_args.c',
+  'src/core/lib/channel/channel_stack.c',
+  'src/core/lib/channel/channel_stack_builder.c',
+  'src/core/lib/channel/client_channel.c',
+  'src/core/lib/channel/compress_filter.c',
+  'src/core/lib/channel/connected_channel.c',
+  'src/core/lib/channel/http_client_filter.c',
+  'src/core/lib/channel/http_server_filter.c',
+  'src/core/lib/channel/subchannel_call_holder.c',
+  'src/core/lib/client_config/client_config.c',
+  'src/core/lib/client_config/connector.c',
+  'src/core/lib/client_config/default_initial_connect_string.c',
+  'src/core/lib/client_config/initial_connect_string.c',
+  'src/core/lib/client_config/lb_policies/load_balancer_api.c',
+  'src/core/lib/client_config/lb_policies/pick_first.c',
+  'src/core/lib/client_config/lb_policies/round_robin.c',
+  'src/core/lib/client_config/lb_policy.c',
+  'src/core/lib/client_config/lb_policy_factory.c',
+  'src/core/lib/client_config/lb_policy_registry.c',
+  'src/core/lib/client_config/resolver.c',
+  'src/core/lib/client_config/resolver_factory.c',
+  'src/core/lib/client_config/resolver_registry.c',
+  'src/core/lib/client_config/resolvers/dns_resolver.c',
+  'src/core/lib/client_config/resolvers/sockaddr_resolver.c',
+  'src/core/lib/client_config/subchannel.c',
+  'src/core/lib/client_config/subchannel_factory.c',
+  'src/core/lib/client_config/subchannel_index.c',
+  'src/core/lib/client_config/uri_parser.c',
+  'src/core/lib/compression/compression_algorithm.c',
+  'src/core/lib/compression/message_compress.c',
+  'src/core/lib/debug/trace.c',
+  'src/core/lib/http/format_request.c',
+  'src/core/lib/http/httpcli.c',
+  'src/core/lib/http/parser.c',
+  'src/core/lib/iomgr/closure.c',
+  'src/core/lib/iomgr/endpoint.c',
+  'src/core/lib/iomgr/endpoint_pair_posix.c',
+  'src/core/lib/iomgr/endpoint_pair_windows.c',
+  'src/core/lib/iomgr/exec_ctx.c',
+  'src/core/lib/iomgr/executor.c',
+  'src/core/lib/iomgr/fd_posix.c',
+  'src/core/lib/iomgr/iocp_windows.c',
+  'src/core/lib/iomgr/iomgr.c',
+  'src/core/lib/iomgr/iomgr_posix.c',
+  'src/core/lib/iomgr/iomgr_windows.c',
+  'src/core/lib/iomgr/pollset_multipoller_with_epoll.c',
+  'src/core/lib/iomgr/pollset_multipoller_with_poll_posix.c',
+  'src/core/lib/iomgr/pollset_posix.c',
+  'src/core/lib/iomgr/pollset_set_posix.c',
+  'src/core/lib/iomgr/pollset_set_windows.c',
+  'src/core/lib/iomgr/pollset_windows.c',
+  'src/core/lib/iomgr/resolve_address_posix.c',
+  'src/core/lib/iomgr/resolve_address_windows.c',
+  'src/core/lib/iomgr/sockaddr_utils.c',
+  'src/core/lib/iomgr/socket_utils_common_posix.c',
+  'src/core/lib/iomgr/socket_utils_linux.c',
+  'src/core/lib/iomgr/socket_utils_posix.c',
+  'src/core/lib/iomgr/socket_windows.c',
+  'src/core/lib/iomgr/tcp_client_posix.c',
+  'src/core/lib/iomgr/tcp_client_windows.c',
+  'src/core/lib/iomgr/tcp_posix.c',
+  'src/core/lib/iomgr/tcp_server_posix.c',
+  'src/core/lib/iomgr/tcp_server_windows.c',
+  'src/core/lib/iomgr/tcp_windows.c',
+  'src/core/lib/iomgr/time_averaged_stats.c',
+  'src/core/lib/iomgr/timer.c',
+  'src/core/lib/iomgr/timer_heap.c',
+  'src/core/lib/iomgr/udp_server.c',
+  'src/core/lib/iomgr/unix_sockets_posix.c',
+  'src/core/lib/iomgr/unix_sockets_posix_noop.c',
+  'src/core/lib/iomgr/wakeup_fd_eventfd.c',
+  'src/core/lib/iomgr/wakeup_fd_nospecial.c',
+  'src/core/lib/iomgr/wakeup_fd_pipe.c',
+  'src/core/lib/iomgr/wakeup_fd_posix.c',
+  'src/core/lib/iomgr/workqueue_posix.c',
+  'src/core/lib/iomgr/workqueue_windows.c',
+  'src/core/lib/json/json.c',
+  'src/core/lib/json/json_reader.c',
+  'src/core/lib/json/json_string.c',
+  'src/core/lib/json/json_writer.c',
+  'src/core/lib/proto/grpc/lb/v0/load_balancer.pb.c',
+  'src/core/lib/surface/alarm.c',
+  'src/core/lib/surface/api_trace.c',
+  'src/core/lib/surface/byte_buffer.c',
+  'src/core/lib/surface/byte_buffer_reader.c',
+  'src/core/lib/surface/call.c',
+  'src/core/lib/surface/call_details.c',
+  'src/core/lib/surface/call_log_batch.c',
+  'src/core/lib/surface/channel.c',
+  'src/core/lib/surface/channel_connectivity.c',
+  'src/core/lib/surface/channel_create.c',
+  'src/core/lib/surface/channel_init.c',
+  'src/core/lib/surface/channel_ping.c',
+  'src/core/lib/surface/channel_stack_type.c',
+  'src/core/lib/surface/completion_queue.c',
+  'src/core/lib/surface/event_string.c',
+  'src/core/lib/surface/init.c',
+  'src/core/lib/surface/lame_client.c',
+  'src/core/lib/surface/metadata_array.c',
+  'src/core/lib/surface/server.c',
+  'src/core/lib/surface/server_chttp2.c',
+  'src/core/lib/surface/validate_metadata.c',
+  'src/core/lib/surface/version.c',
+  'src/core/lib/transport/byte_stream.c',
+  'src/core/lib/transport/chttp2/alpn.c',
+  'src/core/lib/transport/chttp2/bin_encoder.c',
+  'src/core/lib/transport/chttp2/frame_data.c',
+  'src/core/lib/transport/chttp2/frame_goaway.c',
+  'src/core/lib/transport/chttp2/frame_ping.c',
+  'src/core/lib/transport/chttp2/frame_rst_stream.c',
+  'src/core/lib/transport/chttp2/frame_settings.c',
+  'src/core/lib/transport/chttp2/frame_window_update.c',
+  'src/core/lib/transport/chttp2/hpack_encoder.c',
+  'src/core/lib/transport/chttp2/hpack_parser.c',
+  'src/core/lib/transport/chttp2/hpack_table.c',
+  'src/core/lib/transport/chttp2/huffsyms.c',
+  'src/core/lib/transport/chttp2/incoming_metadata.c',
+  'src/core/lib/transport/chttp2/parsing.c',
+  'src/core/lib/transport/chttp2/status_conversion.c',
+  'src/core/lib/transport/chttp2/stream_lists.c',
+  'src/core/lib/transport/chttp2/stream_map.c',
+  'src/core/lib/transport/chttp2/timeout_encoding.c',
+  'src/core/lib/transport/chttp2/varint.c',
+  'src/core/lib/transport/chttp2/writing.c',
+  'src/core/lib/transport/chttp2_transport.c',
+  'src/core/lib/transport/connectivity_state.c',
+  'src/core/lib/transport/metadata.c',
+  'src/core/lib/transport/metadata_batch.c',
+  'src/core/lib/transport/static_metadata.c',
+  'src/core/lib/transport/transport.c',
+  'src/core/lib/transport/transport_op_string.c',
+  'src/core/lib/http/httpcli_security_connector.c',
+  'src/core/lib/security/b64.c',
+  'src/core/lib/security/client_auth_filter.c',
+  'src/core/lib/security/credentials.c',
+  'src/core/lib/security/credentials_metadata.c',
+  'src/core/lib/security/credentials_posix.c',
+  'src/core/lib/security/credentials_win32.c',
+  'src/core/lib/security/google_default_credentials.c',
+  'src/core/lib/security/handshake.c',
+  'src/core/lib/security/json_token.c',
+  'src/core/lib/security/jwt_verifier.c',
+  'src/core/lib/security/secure_endpoint.c',
+  'src/core/lib/security/security_connector.c',
+  'src/core/lib/security/security_context.c',
+  'src/core/lib/security/server_auth_filter.c',
+  'src/core/lib/security/server_secure_chttp2.c',
+  'src/core/lib/surface/init_secure.c',
+  'src/core/lib/surface/secure_channel_create.c',
+  'src/core/lib/tsi/fake_transport_security.c',
+  'src/core/lib/tsi/ssl_transport_security.c',
+  'src/core/lib/tsi/transport_security.c',
+  'src/core/lib/census/context.c',
+  'src/core/lib/census/initialize.c',
+  'src/core/lib/census/mlog.c',
+  'src/core/lib/census/operation.c',
+  'src/core/lib/census/placeholders.c',
+  'src/core/lib/census/tracing.c',
   'third_party/nanopb/pb_common.c',
   'third_party/nanopb/pb_decode.c',
   'third_party/nanopb/pb_encode.c',
diff --git a/templates/src/core/surface/version.c.template b/templates/src/core/lib/surface/version.c.template
similarity index 100%
rename from templates/src/core/surface/version.c.template
rename to templates/src/core/lib/surface/version.c.template
diff --git a/test/core/bad_client/bad_client.c b/test/core/bad_client/bad_client.c
index c7130f9..2e9623e 100644
--- a/test/core/bad_client/bad_client.c
+++ b/test/core/bad_client/bad_client.c
@@ -33,13 +33,13 @@
 
 #include "test/core/bad_client/bad_client.h"
 
-#include "src/core/channel/channel_stack.h"
-#include "src/core/channel/http_server_filter.h"
-#include "src/core/iomgr/endpoint_pair.h"
-#include "src/core/support/string.h"
-#include "src/core/surface/completion_queue.h"
-#include "src/core/surface/server.h"
-#include "src/core/transport/chttp2_transport.h"
+#include "src/core/lib/channel/channel_stack.h"
+#include "src/core/lib/channel/http_server_filter.h"
+#include "src/core/lib/iomgr/endpoint_pair.h"
+#include "src/core/lib/support/string.h"
+#include "src/core/lib/surface/completion_queue.h"
+#include "src/core/lib/surface/server.h"
+#include "src/core/lib/transport/chttp2_transport.h"
 
 #include <grpc/support/alloc.h>
 #include <grpc/support/sync.h>
diff --git a/test/core/bad_client/tests/badreq.c b/test/core/bad_client/tests/badreq.c
index 95d46d5..fd3d13f 100644
--- a/test/core/bad_client/tests/badreq.c
+++ b/test/core/bad_client/tests/badreq.c
@@ -35,7 +35,7 @@
 
 #include <string.h>
 
-#include "src/core/surface/server.h"
+#include "src/core/lib/surface/server.h"
 #include "test/core/end2end/cq_verifier.h"
 
 #define PFX_STR                      \
diff --git a/test/core/bad_client/tests/connection_prefix.c b/test/core/bad_client/tests/connection_prefix.c
index 000ecca..87826af 100644
--- a/test/core/bad_client/tests/connection_prefix.c
+++ b/test/core/bad_client/tests/connection_prefix.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/surface/server.h"
+#include "src/core/lib/surface/server.h"
 #include "test/core/bad_client/bad_client.h"
 
 static void verifier(grpc_server *server, grpc_completion_queue *cq,
diff --git a/test/core/bad_client/tests/headers.c b/test/core/bad_client/tests/headers.c
index 4ecdb64..f66f14d 100644
--- a/test/core/bad_client/tests/headers.c
+++ b/test/core/bad_client/tests/headers.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/surface/server.h"
+#include "src/core/lib/surface/server.h"
 #include "test/core/bad_client/bad_client.h"
 
 #define PFX_STR                      \
diff --git a/test/core/bad_client/tests/initial_settings_frame.c b/test/core/bad_client/tests/initial_settings_frame.c
index 2104892..b303f03 100644
--- a/test/core/bad_client/tests/initial_settings_frame.c
+++ b/test/core/bad_client/tests/initial_settings_frame.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/surface/server.h"
+#include "src/core/lib/surface/server.h"
 #include "test/core/bad_client/bad_client.h"
 
 #define PFX_STR "PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n"
diff --git a/test/core/bad_client/tests/server_registered_method.c b/test/core/bad_client/tests/server_registered_method.c
index d280804..c35457c 100644
--- a/test/core/bad_client/tests/server_registered_method.c
+++ b/test/core/bad_client/tests/server_registered_method.c
@@ -35,7 +35,7 @@
 
 #include <string.h>
 
-#include "src/core/surface/server.h"
+#include "src/core/lib/surface/server.h"
 #include "test/core/end2end/cq_verifier.h"
 
 #define PFX_STR                                               \
diff --git a/test/core/bad_client/tests/simple_request.c b/test/core/bad_client/tests/simple_request.c
index e535be1..6cb44ee 100644
--- a/test/core/bad_client/tests/simple_request.c
+++ b/test/core/bad_client/tests/simple_request.c
@@ -35,7 +35,7 @@
 
 #include <string.h>
 
-#include "src/core/surface/server.h"
+#include "src/core/lib/surface/server.h"
 #include "test/core/end2end/cq_verifier.h"
 
 #define PFX_STR                                                            \
diff --git a/test/core/bad_client/tests/unknown_frame.c b/test/core/bad_client/tests/unknown_frame.c
index 729a6d9..44d1e35 100644
--- a/test/core/bad_client/tests/unknown_frame.c
+++ b/test/core/bad_client/tests/unknown_frame.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/surface/server.h"
+#include "src/core/lib/surface/server.h"
 #include "test/core/bad_client/bad_client.h"
 
 #define PFX_STR                      \
diff --git a/test/core/bad_client/tests/window_overflow.c b/test/core/bad_client/tests/window_overflow.c
index a9117de..b6d0101 100644
--- a/test/core/bad_client/tests/window_overflow.c
+++ b/test/core/bad_client/tests/window_overflow.c
@@ -37,7 +37,7 @@
 
 #include <grpc/support/alloc.h>
 
-#include "src/core/surface/server.h"
+#include "src/core/lib/surface/server.h"
 
 #define PFX_STR                                                            \
   "PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n"                                       \
diff --git a/test/core/bad_ssl/bad_ssl_test.c b/test/core/bad_ssl/bad_ssl_test.c
index e2babfa..013b8ea 100644
--- a/test/core/bad_ssl/bad_ssl_test.c
+++ b/test/core/bad_ssl/bad_ssl_test.c
@@ -41,8 +41,8 @@
 #include <grpc/support/log.h>
 #include <grpc/support/string_util.h>
 #include <grpc/support/subprocess.h>
-#include "src/core/support/env.h"
-#include "src/core/support/string.h"
+#include "src/core/lib/support/env.h"
+#include "src/core/lib/support/string.h"
 #include "test/core/end2end/cq_verifier.h"
 #include "test/core/util/port.h"
 #include "test/core/util/test_config.h"
diff --git a/test/core/bad_ssl/servers/alpn.c b/test/core/bad_ssl/servers/alpn.c
index c8cc83b..98dcd1c 100644
--- a/test/core/bad_ssl/servers/alpn.c
+++ b/test/core/bad_ssl/servers/alpn.c
@@ -38,7 +38,7 @@
 #include <grpc/support/log.h>
 #include <grpc/support/useful.h>
 
-#include "src/core/transport/chttp2/alpn.h"
+#include "src/core/lib/transport/chttp2/alpn.h"
 #include "test/core/bad_ssl/server_common.h"
 #include "test/core/end2end/data/ssl_test_data.h"
 
diff --git a/test/core/bad_ssl/servers/cert.c b/test/core/bad_ssl/servers/cert.c
index 4edef50..7307682 100644
--- a/test/core/bad_ssl/servers/cert.c
+++ b/test/core/bad_ssl/servers/cert.c
@@ -38,7 +38,7 @@
 #include <grpc/support/log.h>
 #include <grpc/support/useful.h>
 
-#include "src/core/support/load_file.h"
+#include "src/core/lib/support/load_file.h"
 
 #include "test/core/bad_ssl/server_common.h"
 #include "test/core/end2end/data/ssl_test_data.h"
@@ -56,9 +56,11 @@
 
   grpc_init();
 
-  cert_slice = gpr_load_file("src/core/tsi/test_creds/badserver.pem", 1, &ok);
+  cert_slice =
+      gpr_load_file("src/core/lib/tsi/test_creds/badserver.pem", 1, &ok);
   GPR_ASSERT(ok);
-  key_slice = gpr_load_file("src/core/tsi/test_creds/badserver.key", 1, &ok);
+  key_slice =
+      gpr_load_file("src/core/lib/tsi/test_creds/badserver.key", 1, &ok);
   GPR_ASSERT(ok);
   pem_key_cert_pair.private_key = (const char *)GPR_SLICE_START_PTR(key_slice);
   pem_key_cert_pair.cert_chain = (const char *)GPR_SLICE_START_PTR(cert_slice);
diff --git a/test/core/census/mlog_test.c b/test/core/census/mlog_test.c
index 000ac73..a1fadc2 100644
--- a/test/core/census/mlog_test.c
+++ b/test/core/census/mlog_test.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/census/mlog.h"
+#include "src/core/lib/census/mlog.h"
 #include <grpc/support/cpu.h>
 #include <grpc/support/log.h>
 #include <grpc/support/port_platform.h>
diff --git a/test/core/channel/channel_args_test.c b/test/core/channel/channel_args_test.c
index 0b74dee..352dfa0 100644
--- a/test/core/channel/channel_args_test.c
+++ b/test/core/channel/channel_args_test.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -36,7 +36,7 @@
 #include <grpc/support/log.h>
 #include <grpc/support/useful.h>
 
-#include "src/core/channel/channel_args.h"
+#include "src/core/lib/channel/channel_args.h"
 
 #include "test/core/util/test_config.h"
 
diff --git a/test/core/channel/channel_stack_test.c b/test/core/channel/channel_stack_test.c
index c4c288d..49e9c7e 100644
--- a/test/core/channel/channel_stack_test.c
+++ b/test/core/channel/channel_stack_test.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/channel/channel_stack.h"
+#include "src/core/lib/channel/channel_stack.h"
 
 #include <string.h>
 
diff --git a/test/core/client_config/lb_policies_test.c b/test/core/client_config/lb_policies_test.c
index 91fa63e..bae3e7d 100644
--- a/test/core/client_config/lb_policies_test.c
+++ b/test/core/client_config/lb_policies_test.c
@@ -41,13 +41,13 @@
 #include <grpc/support/string_util.h>
 #include <grpc/support/time.h>
 
-#include "src/core/channel/channel_stack.h"
-#include "src/core/channel/client_channel.h"
-#include "src/core/client_config/lb_policies/round_robin.h"
-#include "src/core/client_config/lb_policy_registry.h"
-#include "src/core/support/string.h"
-#include "src/core/surface/channel.h"
-#include "src/core/surface/server.h"
+#include "src/core/lib/channel/channel_stack.h"
+#include "src/core/lib/channel/client_channel.h"
+#include "src/core/lib/client_config/lb_policies/round_robin.h"
+#include "src/core/lib/client_config/lb_policy_registry.h"
+#include "src/core/lib/support/string.h"
+#include "src/core/lib/surface/channel.h"
+#include "src/core/lib/surface/server.h"
 #include "test/core/end2end/cq_verifier.h"
 #include "test/core/util/port.h"
 #include "test/core/util/test_config.h"
diff --git a/test/core/client_config/resolvers/dns_resolver_connectivity_test.c b/test/core/client_config/resolvers/dns_resolver_connectivity_test.c
index 75d1eb6..dc6a614 100644
--- a/test/core/client_config/resolvers/dns_resolver_connectivity_test.c
+++ b/test/core/client_config/resolvers/dns_resolver_connectivity_test.c
@@ -31,15 +31,15 @@
  *
  */
 
-#include "src/core/client_config/resolvers/dns_resolver.h"
+#include "src/core/lib/client_config/resolvers/dns_resolver.h"
 
 #include <string.h>
 
 #include <grpc/grpc.h>
 #include <grpc/support/alloc.h>
 
-#include "src/core/iomgr/resolve_address.h"
-#include "src/core/iomgr/timer.h"
+#include "src/core/lib/iomgr/resolve_address.h"
+#include "src/core/lib/iomgr/timer.h"
 #include "test/core/util/test_config.h"
 
 static void subchannel_factory_ref(grpc_subchannel_factory *scv) {}
diff --git a/test/core/client_config/resolvers/dns_resolver_test.c b/test/core/client_config/resolvers/dns_resolver_test.c
index 38e76d5..6c7a6b2 100644
--- a/test/core/client_config/resolvers/dns_resolver_test.c
+++ b/test/core/client_config/resolvers/dns_resolver_test.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,13 +31,13 @@
  *
  */
 
-#include "src/core/client_config/resolvers/dns_resolver.h"
+#include "src/core/lib/client_config/resolvers/dns_resolver.h"
 
 #include <string.h>
 
 #include <grpc/support/log.h>
 
-#include "src/core/client_config/resolver.h"
+#include "src/core/lib/client_config/resolver.h"
 #include "test/core/util/test_config.h"
 
 static void subchannel_factory_ref(grpc_subchannel_factory *scv) {}
diff --git a/test/core/client_config/resolvers/sockaddr_resolver_test.c b/test/core/client_config/resolvers/sockaddr_resolver_test.c
index 8856c85..fafddfd 100644
--- a/test/core/client_config/resolvers/sockaddr_resolver_test.c
+++ b/test/core/client_config/resolvers/sockaddr_resolver_test.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,13 +31,13 @@
  *
  */
 
-#include "src/core/client_config/resolvers/sockaddr_resolver.h"
+#include "src/core/lib/client_config/resolvers/sockaddr_resolver.h"
 
 #include <string.h>
 
 #include <grpc/support/log.h>
 
-#include "src/core/client_config/resolver.h"
+#include "src/core/lib/client_config/resolver.h"
 #include "test/core/util/test_config.h"
 
 static void subchannel_factory_ref(grpc_subchannel_factory *scv) {}
diff --git a/test/core/client_config/set_initial_connect_string_test.c b/test/core/client_config/set_initial_connect_string_test.c
index 3cf267f..7fd92a0 100644
--- a/test/core/client_config/set_initial_connect_string_test.c
+++ b/test/core/client_config/set_initial_connect_string_test.c
@@ -38,10 +38,10 @@
 #include <grpc/support/log.h>
 #include <grpc/support/slice.h>
 
-#include "src/core/client_config/initial_connect_string.h"
-#include "src/core/iomgr/sockaddr.h"
-#include "src/core/security/credentials.h"
-#include "src/core/support/string.h"
+#include "src/core/lib/client_config/initial_connect_string.h"
+#include "src/core/lib/iomgr/sockaddr.h"
+#include "src/core/lib/security/credentials.h"
+#include "src/core/lib/support/string.h"
 #include "test/core/util/port.h"
 #include "test/core/util/test_config.h"
 #include "test/core/util/test_tcp_server.h"
diff --git a/test/core/client_config/uri_parser_test.c b/test/core/client_config/uri_parser_test.c
index df12d6b..c7f7726 100644
--- a/test/core/client_config/uri_parser_test.c
+++ b/test/core/client_config/uri_parser_test.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/client_config/uri_parser.h"
+#include "src/core/lib/client_config/uri_parser.h"
 
 #include <string.h>
 
diff --git a/test/core/compression/algorithm_test.c b/test/core/compression/algorithm_test.c
index 7de7e11..937eb66 100644
--- a/test/core/compression/algorithm_test.c
+++ b/test/core/compression/algorithm_test.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/compression/algorithm_metadata.h"
+#include "src/core/lib/compression/algorithm_metadata.h"
 
 #include <stdlib.h>
 #include <string.h>
@@ -40,7 +40,7 @@
 #include <grpc/support/log.h>
 #include <grpc/support/useful.h>
 
-#include "src/core/transport/static_metadata.h"
+#include "src/core/lib/transport/static_metadata.h"
 #include "test/core/util/test_config.h"
 
 static void test_algorithm_mesh(void) {
diff --git a/test/core/compression/message_compress_test.c b/test/core/compression/message_compress_test.c
index 6d3d161..378badc 100644
--- a/test/core/compression/message_compress_test.c
+++ b/test/core/compression/message_compress_test.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/compression/message_compress.h"
+#include "src/core/lib/compression/message_compress.h"
 
 #include <stdlib.h>
 #include <string.h>
@@ -40,7 +40,7 @@
 #include <grpc/support/log.h>
 #include <grpc/support/useful.h>
 
-#include "src/core/support/murmur_hash.h"
+#include "src/core/lib/support/murmur_hash.h"
 #include "test/core/util/slice_splitter.h"
 #include "test/core/util/test_config.h"
 
diff --git a/test/core/end2end/cq_verifier.c b/test/core/end2end/cq_verifier.c
index 3687f7c..baf8e8e 100644
--- a/test/core/end2end/cq_verifier.c
+++ b/test/core/end2end/cq_verifier.c
@@ -44,8 +44,8 @@
 #include <grpc/support/string_util.h>
 #include <grpc/support/time.h>
 #include <grpc/support/useful.h>
-#include "src/core/support/string.h"
-#include "src/core/surface/event_string.h"
+#include "src/core/lib/support/string.h"
+#include "src/core/lib/surface/event_string.h"
 
 #define ROOT_EXPECTATION 1000
 
diff --git a/test/core/end2end/dualstack_socket_test.c b/test/core/end2end/dualstack_socket_test.c
index 77589a7..7501df9 100644
--- a/test/core/end2end/dualstack_socket_test.c
+++ b/test/core/end2end/dualstack_socket_test.c
@@ -39,9 +39,9 @@
 #include <grpc/support/log.h>
 #include <grpc/support/string_util.h>
 
-#include "src/core/iomgr/resolve_address.h"
-#include "src/core/iomgr/socket_utils_posix.h"
-#include "src/core/support/string.h"
+#include "src/core/lib/iomgr/resolve_address.h"
+#include "src/core/lib/iomgr/socket_utils_posix.h"
+#include "src/core/lib/support/string.h"
 
 #include "test/core/end2end/cq_verifier.h"
 #include "test/core/util/port.h"
diff --git a/test/core/end2end/fixtures/h2_census.c b/test/core/end2end/fixtures/h2_census.c
index 4d89a8f..8d504e4 100644
--- a/test/core/end2end/fixtures/h2_census.c
+++ b/test/core/end2end/fixtures/h2_census.c
@@ -41,13 +41,13 @@
 #include <grpc/support/sync.h>
 #include <grpc/support/thd.h>
 #include <grpc/support/useful.h>
-#include "src/core/channel/channel_args.h"
-#include "src/core/channel/client_channel.h"
-#include "src/core/channel/connected_channel.h"
-#include "src/core/channel/http_server_filter.h"
-#include "src/core/surface/channel.h"
-#include "src/core/surface/server.h"
-#include "src/core/transport/chttp2_transport.h"
+#include "src/core/lib/channel/channel_args.h"
+#include "src/core/lib/channel/client_channel.h"
+#include "src/core/lib/channel/connected_channel.h"
+#include "src/core/lib/channel/http_server_filter.h"
+#include "src/core/lib/surface/channel.h"
+#include "src/core/lib/surface/server.h"
+#include "src/core/lib/transport/chttp2_transport.h"
 #include "test/core/util/port.h"
 #include "test/core/util/test_config.h"
 
diff --git a/test/core/end2end/fixtures/h2_compress.c b/test/core/end2end/fixtures/h2_compress.c
index 19a2495..a45c27a 100644
--- a/test/core/end2end/fixtures/h2_compress.c
+++ b/test/core/end2end/fixtures/h2_compress.c
@@ -41,13 +41,13 @@
 #include <grpc/support/sync.h>
 #include <grpc/support/thd.h>
 #include <grpc/support/useful.h>
-#include "src/core/channel/channel_args.h"
-#include "src/core/channel/client_channel.h"
-#include "src/core/channel/connected_channel.h"
-#include "src/core/channel/http_server_filter.h"
-#include "src/core/surface/channel.h"
-#include "src/core/surface/server.h"
-#include "src/core/transport/chttp2_transport.h"
+#include "src/core/lib/channel/channel_args.h"
+#include "src/core/lib/channel/client_channel.h"
+#include "src/core/lib/channel/connected_channel.h"
+#include "src/core/lib/channel/http_server_filter.h"
+#include "src/core/lib/surface/channel.h"
+#include "src/core/lib/surface/server.h"
+#include "src/core/lib/transport/chttp2_transport.h"
 #include "test/core/util/port.h"
 #include "test/core/util/test_config.h"
 
diff --git a/test/core/end2end/fixtures/h2_fakesec.c b/test/core/end2end/fixtures/h2_fakesec.c
index 8be8e35..7386691 100644
--- a/test/core/end2end/fixtures/h2_fakesec.c
+++ b/test/core/end2end/fixtures/h2_fakesec.c
@@ -39,8 +39,8 @@
 #include <grpc/support/alloc.h>
 #include <grpc/support/host_port.h>
 #include <grpc/support/log.h>
-#include "src/core/channel/channel_args.h"
-#include "src/core/security/credentials.h"
+#include "src/core/lib/channel/channel_args.h"
+#include "src/core/lib/security/credentials.h"
 #include "test/core/end2end/data/ssl_test_data.h"
 #include "test/core/util/port.h"
 #include "test/core/util/test_config.h"
diff --git a/test/core/end2end/fixtures/h2_full+pipe.c b/test/core/end2end/fixtures/h2_full+pipe.c
index f2d72f0..def5efa 100644
--- a/test/core/end2end/fixtures/h2_full+pipe.c
+++ b/test/core/end2end/fixtures/h2_full+pipe.c
@@ -41,13 +41,13 @@
 #include <grpc/support/sync.h>
 #include <grpc/support/thd.h>
 #include <grpc/support/useful.h>
-#include "src/core/channel/client_channel.h"
-#include "src/core/channel/connected_channel.h"
-#include "src/core/channel/http_server_filter.h"
-#include "src/core/iomgr/wakeup_fd_posix.h"
-#include "src/core/surface/channel.h"
-#include "src/core/surface/server.h"
-#include "src/core/transport/chttp2_transport.h"
+#include "src/core/lib/channel/client_channel.h"
+#include "src/core/lib/channel/connected_channel.h"
+#include "src/core/lib/channel/http_server_filter.h"
+#include "src/core/lib/iomgr/wakeup_fd_posix.h"
+#include "src/core/lib/surface/channel.h"
+#include "src/core/lib/surface/server.h"
+#include "src/core/lib/transport/chttp2_transport.h"
 #include "test/core/util/port.h"
 #include "test/core/util/test_config.h"
 
diff --git a/test/core/end2end/fixtures/h2_full+poll+pipe.c b/test/core/end2end/fixtures/h2_full+poll+pipe.c
index 682598f..0584b81 100644
--- a/test/core/end2end/fixtures/h2_full+poll+pipe.c
+++ b/test/core/end2end/fixtures/h2_full+poll+pipe.c
@@ -42,14 +42,14 @@
 #include <grpc/support/thd.h>
 #include <grpc/support/useful.h>
 
-#include "src/core/channel/client_channel.h"
-#include "src/core/channel/connected_channel.h"
-#include "src/core/channel/http_server_filter.h"
-#include "src/core/iomgr/pollset_posix.h"
-#include "src/core/iomgr/wakeup_fd_posix.h"
-#include "src/core/surface/channel.h"
-#include "src/core/surface/server.h"
-#include "src/core/transport/chttp2_transport.h"
+#include "src/core/lib/channel/client_channel.h"
+#include "src/core/lib/channel/connected_channel.h"
+#include "src/core/lib/channel/http_server_filter.h"
+#include "src/core/lib/iomgr/pollset_posix.h"
+#include "src/core/lib/iomgr/wakeup_fd_posix.h"
+#include "src/core/lib/surface/channel.h"
+#include "src/core/lib/surface/server.h"
+#include "src/core/lib/transport/chttp2_transport.h"
 #include "test/core/util/port.h"
 #include "test/core/util/test_config.h"
 
diff --git a/test/core/end2end/fixtures/h2_full+poll.c b/test/core/end2end/fixtures/h2_full+poll.c
index 5a0b2ef..8576e3e 100644
--- a/test/core/end2end/fixtures/h2_full+poll.c
+++ b/test/core/end2end/fixtures/h2_full+poll.c
@@ -42,13 +42,13 @@
 #include <grpc/support/thd.h>
 #include <grpc/support/useful.h>
 
-#include "src/core/channel/client_channel.h"
-#include "src/core/channel/connected_channel.h"
-#include "src/core/channel/http_server_filter.h"
-#include "src/core/iomgr/pollset_posix.h"
-#include "src/core/surface/channel.h"
-#include "src/core/surface/server.h"
-#include "src/core/transport/chttp2_transport.h"
+#include "src/core/lib/channel/client_channel.h"
+#include "src/core/lib/channel/connected_channel.h"
+#include "src/core/lib/channel/http_server_filter.h"
+#include "src/core/lib/iomgr/pollset_posix.h"
+#include "src/core/lib/surface/channel.h"
+#include "src/core/lib/surface/server.h"
+#include "src/core/lib/transport/chttp2_transport.h"
 #include "test/core/util/port.h"
 #include "test/core/util/test_config.h"
 
diff --git a/test/core/end2end/fixtures/h2_full+trace.c b/test/core/end2end/fixtures/h2_full+trace.c
index c84bd72..0d53156 100644
--- a/test/core/end2end/fixtures/h2_full+trace.c
+++ b/test/core/end2end/fixtures/h2_full+trace.c
@@ -41,13 +41,13 @@
 #include <grpc/support/sync.h>
 #include <grpc/support/thd.h>
 #include <grpc/support/useful.h>
-#include "src/core/channel/client_channel.h"
-#include "src/core/channel/connected_channel.h"
-#include "src/core/channel/http_server_filter.h"
-#include "src/core/support/env.h"
-#include "src/core/surface/channel.h"
-#include "src/core/surface/server.h"
-#include "src/core/transport/chttp2_transport.h"
+#include "src/core/lib/channel/client_channel.h"
+#include "src/core/lib/channel/connected_channel.h"
+#include "src/core/lib/channel/http_server_filter.h"
+#include "src/core/lib/support/env.h"
+#include "src/core/lib/surface/channel.h"
+#include "src/core/lib/surface/server.h"
+#include "src/core/lib/transport/chttp2_transport.h"
 #include "test/core/util/port.h"
 #include "test/core/util/test_config.h"
 
diff --git a/test/core/end2end/fixtures/h2_full.c b/test/core/end2end/fixtures/h2_full.c
index c56d2fc..4eae620 100644
--- a/test/core/end2end/fixtures/h2_full.c
+++ b/test/core/end2end/fixtures/h2_full.c
@@ -41,12 +41,12 @@
 #include <grpc/support/sync.h>
 #include <grpc/support/thd.h>
 #include <grpc/support/useful.h>
-#include "src/core/channel/client_channel.h"
-#include "src/core/channel/connected_channel.h"
-#include "src/core/channel/http_server_filter.h"
-#include "src/core/surface/channel.h"
-#include "src/core/surface/server.h"
-#include "src/core/transport/chttp2_transport.h"
+#include "src/core/lib/channel/client_channel.h"
+#include "src/core/lib/channel/connected_channel.h"
+#include "src/core/lib/channel/http_server_filter.h"
+#include "src/core/lib/surface/channel.h"
+#include "src/core/lib/surface/server.h"
+#include "src/core/lib/transport/chttp2_transport.h"
 #include "test/core/util/port.h"
 #include "test/core/util/test_config.h"
 
diff --git a/test/core/end2end/fixtures/h2_oauth2.c b/test/core/end2end/fixtures/h2_oauth2.c
index 279061b..ee188cc 100644
--- a/test/core/end2end/fixtures/h2_oauth2.c
+++ b/test/core/end2end/fixtures/h2_oauth2.c
@@ -39,9 +39,9 @@
 #include <grpc/support/alloc.h>
 #include <grpc/support/host_port.h>
 #include <grpc/support/log.h>
-#include "src/core/channel/channel_args.h"
-#include "src/core/iomgr/iomgr.h"
-#include "src/core/security/credentials.h"
+#include "src/core/lib/channel/channel_args.h"
+#include "src/core/lib/iomgr/iomgr.h"
+#include "src/core/lib/security/credentials.h"
 #include "test/core/end2end/data/ssl_test_data.h"
 #include "test/core/util/port.h"
 #include "test/core/util/test_config.h"
diff --git a/test/core/end2end/fixtures/h2_proxy.c b/test/core/end2end/fixtures/h2_proxy.c
index 1e9aa62..39ecd89 100644
--- a/test/core/end2end/fixtures/h2_proxy.c
+++ b/test/core/end2end/fixtures/h2_proxy.c
@@ -41,12 +41,12 @@
 #include <grpc/support/sync.h>
 #include <grpc/support/thd.h>
 #include <grpc/support/useful.h>
-#include "src/core/channel/client_channel.h"
-#include "src/core/channel/connected_channel.h"
-#include "src/core/channel/http_server_filter.h"
-#include "src/core/surface/channel.h"
-#include "src/core/surface/server.h"
-#include "src/core/transport/chttp2_transport.h"
+#include "src/core/lib/channel/client_channel.h"
+#include "src/core/lib/channel/connected_channel.h"
+#include "src/core/lib/channel/http_server_filter.h"
+#include "src/core/lib/surface/channel.h"
+#include "src/core/lib/surface/server.h"
+#include "src/core/lib/transport/chttp2_transport.h"
 #include "test/core/end2end/fixtures/proxy.h"
 #include "test/core/util/port.h"
 #include "test/core/util/test_config.h"
diff --git a/test/core/end2end/fixtures/h2_sockpair+trace.c b/test/core/end2end/fixtures/h2_sockpair+trace.c
index 3306872..374390f 100644
--- a/test/core/end2end/fixtures/h2_sockpair+trace.c
+++ b/test/core/end2end/fixtures/h2_sockpair+trace.c
@@ -40,17 +40,17 @@
 #include <grpc/support/sync.h>
 #include <grpc/support/thd.h>
 #include <grpc/support/useful.h>
-#include "src/core/channel/client_channel.h"
-#include "src/core/channel/compress_filter.h"
-#include "src/core/channel/connected_channel.h"
-#include "src/core/channel/http_client_filter.h"
-#include "src/core/channel/http_server_filter.h"
-#include "src/core/iomgr/endpoint_pair.h"
-#include "src/core/iomgr/iomgr.h"
-#include "src/core/support/env.h"
-#include "src/core/surface/channel.h"
-#include "src/core/surface/server.h"
-#include "src/core/transport/chttp2_transport.h"
+#include "src/core/lib/channel/client_channel.h"
+#include "src/core/lib/channel/compress_filter.h"
+#include "src/core/lib/channel/connected_channel.h"
+#include "src/core/lib/channel/http_client_filter.h"
+#include "src/core/lib/channel/http_server_filter.h"
+#include "src/core/lib/iomgr/endpoint_pair.h"
+#include "src/core/lib/iomgr/iomgr.h"
+#include "src/core/lib/support/env.h"
+#include "src/core/lib/surface/channel.h"
+#include "src/core/lib/surface/server.h"
+#include "src/core/lib/transport/chttp2_transport.h"
 #include "test/core/util/port.h"
 #include "test/core/util/test_config.h"
 
diff --git a/test/core/end2end/fixtures/h2_sockpair.c b/test/core/end2end/fixtures/h2_sockpair.c
index d64c85a..c11a528 100644
--- a/test/core/end2end/fixtures/h2_sockpair.c
+++ b/test/core/end2end/fixtures/h2_sockpair.c
@@ -40,16 +40,16 @@
 #include <grpc/support/sync.h>
 #include <grpc/support/thd.h>
 #include <grpc/support/useful.h>
-#include "src/core/channel/client_channel.h"
-#include "src/core/channel/compress_filter.h"
-#include "src/core/channel/connected_channel.h"
-#include "src/core/channel/http_client_filter.h"
-#include "src/core/channel/http_server_filter.h"
-#include "src/core/iomgr/endpoint_pair.h"
-#include "src/core/iomgr/iomgr.h"
-#include "src/core/surface/channel.h"
-#include "src/core/surface/server.h"
-#include "src/core/transport/chttp2_transport.h"
+#include "src/core/lib/channel/client_channel.h"
+#include "src/core/lib/channel/compress_filter.h"
+#include "src/core/lib/channel/connected_channel.h"
+#include "src/core/lib/channel/http_client_filter.h"
+#include "src/core/lib/channel/http_server_filter.h"
+#include "src/core/lib/iomgr/endpoint_pair.h"
+#include "src/core/lib/iomgr/iomgr.h"
+#include "src/core/lib/surface/channel.h"
+#include "src/core/lib/surface/server.h"
+#include "src/core/lib/transport/chttp2_transport.h"
 #include "test/core/util/port.h"
 #include "test/core/util/test_config.h"
 
diff --git a/test/core/end2end/fixtures/h2_sockpair_1byte.c b/test/core/end2end/fixtures/h2_sockpair_1byte.c
index 67180a5..6a504c6 100644
--- a/test/core/end2end/fixtures/h2_sockpair_1byte.c
+++ b/test/core/end2end/fixtures/h2_sockpair_1byte.c
@@ -40,16 +40,16 @@
 #include <grpc/support/sync.h>
 #include <grpc/support/thd.h>
 #include <grpc/support/useful.h>
-#include "src/core/channel/client_channel.h"
-#include "src/core/channel/compress_filter.h"
-#include "src/core/channel/connected_channel.h"
-#include "src/core/channel/http_client_filter.h"
-#include "src/core/channel/http_server_filter.h"
-#include "src/core/iomgr/endpoint_pair.h"
-#include "src/core/iomgr/iomgr.h"
-#include "src/core/surface/channel.h"
-#include "src/core/surface/server.h"
-#include "src/core/transport/chttp2_transport.h"
+#include "src/core/lib/channel/client_channel.h"
+#include "src/core/lib/channel/compress_filter.h"
+#include "src/core/lib/channel/connected_channel.h"
+#include "src/core/lib/channel/http_client_filter.h"
+#include "src/core/lib/channel/http_server_filter.h"
+#include "src/core/lib/iomgr/endpoint_pair.h"
+#include "src/core/lib/iomgr/iomgr.h"
+#include "src/core/lib/surface/channel.h"
+#include "src/core/lib/surface/server.h"
+#include "src/core/lib/transport/chttp2_transport.h"
 #include "test/core/util/port.h"
 #include "test/core/util/test_config.h"
 
diff --git a/test/core/end2end/fixtures/h2_ssl+poll.c b/test/core/end2end/fixtures/h2_ssl+poll.c
index 4c3bc64..e93b436 100644
--- a/test/core/end2end/fixtures/h2_ssl+poll.c
+++ b/test/core/end2end/fixtures/h2_ssl+poll.c
@@ -40,12 +40,12 @@
 #include <grpc/support/host_port.h>
 #include <grpc/support/log.h>
 
-#include "src/core/channel/channel_args.h"
-#include "src/core/iomgr/pollset_posix.h"
-#include "src/core/security/credentials.h"
-#include "src/core/support/env.h"
-#include "src/core/support/string.h"
-#include "src/core/support/tmpfile.h"
+#include "src/core/lib/channel/channel_args.h"
+#include "src/core/lib/iomgr/pollset_posix.h"
+#include "src/core/lib/security/credentials.h"
+#include "src/core/lib/support/env.h"
+#include "src/core/lib/support/string.h"
+#include "src/core/lib/support/tmpfile.h"
 #include "test/core/end2end/data/ssl_test_data.h"
 #include "test/core/util/port.h"
 #include "test/core/util/test_config.h"
diff --git a/test/core/end2end/fixtures/h2_ssl.c b/test/core/end2end/fixtures/h2_ssl.c
index 6a4e8dc..fecd03f 100644
--- a/test/core/end2end/fixtures/h2_ssl.c
+++ b/test/core/end2end/fixtures/h2_ssl.c
@@ -40,11 +40,11 @@
 #include <grpc/support/host_port.h>
 #include <grpc/support/log.h>
 
-#include "src/core/channel/channel_args.h"
-#include "src/core/security/credentials.h"
-#include "src/core/support/env.h"
-#include "src/core/support/string.h"
-#include "src/core/support/tmpfile.h"
+#include "src/core/lib/channel/channel_args.h"
+#include "src/core/lib/security/credentials.h"
+#include "src/core/lib/support/env.h"
+#include "src/core/lib/support/string.h"
+#include "src/core/lib/support/tmpfile.h"
 #include "test/core/end2end/data/ssl_test_data.h"
 #include "test/core/util/port.h"
 #include "test/core/util/test_config.h"
diff --git a/test/core/end2end/fixtures/h2_ssl_proxy.c b/test/core/end2end/fixtures/h2_ssl_proxy.c
index f5fcb91..bfbc735 100644
--- a/test/core/end2end/fixtures/h2_ssl_proxy.c
+++ b/test/core/end2end/fixtures/h2_ssl_proxy.c
@@ -40,11 +40,11 @@
 #include <grpc/support/host_port.h>
 #include <grpc/support/log.h>
 
-#include "src/core/channel/channel_args.h"
-#include "src/core/security/credentials.h"
-#include "src/core/support/env.h"
-#include "src/core/support/string.h"
-#include "src/core/support/tmpfile.h"
+#include "src/core/lib/channel/channel_args.h"
+#include "src/core/lib/security/credentials.h"
+#include "src/core/lib/support/env.h"
+#include "src/core/lib/support/string.h"
+#include "src/core/lib/support/tmpfile.h"
 #include "test/core/end2end/data/ssl_test_data.h"
 #include "test/core/end2end/fixtures/proxy.h"
 #include "test/core/util/port.h"
diff --git a/test/core/end2end/fixtures/h2_uds+poll.c b/test/core/end2end/fixtures/h2_uds+poll.c
index c3a855f..e431ef3 100644
--- a/test/core/end2end/fixtures/h2_uds+poll.c
+++ b/test/core/end2end/fixtures/h2_uds+poll.c
@@ -45,14 +45,14 @@
 #include <grpc/support/thd.h>
 #include <grpc/support/useful.h>
 
-#include "src/core/channel/client_channel.h"
-#include "src/core/channel/connected_channel.h"
-#include "src/core/channel/http_server_filter.h"
-#include "src/core/iomgr/pollset_posix.h"
-#include "src/core/support/string.h"
-#include "src/core/surface/channel.h"
-#include "src/core/surface/server.h"
-#include "src/core/transport/chttp2_transport.h"
+#include "src/core/lib/channel/client_channel.h"
+#include "src/core/lib/channel/connected_channel.h"
+#include "src/core/lib/channel/http_server_filter.h"
+#include "src/core/lib/iomgr/pollset_posix.h"
+#include "src/core/lib/support/string.h"
+#include "src/core/lib/surface/channel.h"
+#include "src/core/lib/surface/server.h"
+#include "src/core/lib/transport/chttp2_transport.h"
 #include "test/core/util/port.h"
 #include "test/core/util/test_config.h"
 
diff --git a/test/core/end2end/fixtures/h2_uds.c b/test/core/end2end/fixtures/h2_uds.c
index 3228c05..1bdcdef 100644
--- a/test/core/end2end/fixtures/h2_uds.c
+++ b/test/core/end2end/fixtures/h2_uds.c
@@ -44,13 +44,13 @@
 #include <grpc/support/sync.h>
 #include <grpc/support/thd.h>
 #include <grpc/support/useful.h>
-#include "src/core/channel/client_channel.h"
-#include "src/core/channel/connected_channel.h"
-#include "src/core/channel/http_server_filter.h"
-#include "src/core/support/string.h"
-#include "src/core/surface/channel.h"
-#include "src/core/surface/server.h"
-#include "src/core/transport/chttp2_transport.h"
+#include "src/core/lib/channel/client_channel.h"
+#include "src/core/lib/channel/connected_channel.h"
+#include "src/core/lib/channel/http_server_filter.h"
+#include "src/core/lib/support/string.h"
+#include "src/core/lib/surface/channel.h"
+#include "src/core/lib/surface/server.h"
+#include "src/core/lib/transport/chttp2_transport.h"
 #include "test/core/util/port.h"
 #include "test/core/util/test_config.h"
 
diff --git a/test/core/end2end/tests/bad_hostname.c b/test/core/end2end/tests/bad_hostname.c
index fe7a275..e8c07ac 100644
--- a/test/core/end2end/tests/bad_hostname.c
+++ b/test/core/end2end/tests/bad_hostname.c
@@ -42,7 +42,7 @@
 #include <grpc/support/log.h>
 #include <grpc/support/time.h>
 #include <grpc/support/useful.h>
-#include "src/core/support/string.h"
+#include "src/core/lib/support/string.h"
 #include "test/core/end2end/cq_verifier.h"
 
 enum { TIMEOUT = 200000 };
@@ -152,7 +152,7 @@
   cq_expect_completion(cqv, tag(1), 1);
   cq_verify(cqv);
 
-  GPR_ASSERT(status == GRPC_STATUS_INVALID_ARGUMENT);
+  GPR_ASSERT(status == GRPC_STATUS_INTERNAL);
 
   gpr_free(details);
   grpc_metadata_array_destroy(&initial_metadata_recv);
diff --git a/test/core/end2end/tests/call_creds.c b/test/core/end2end/tests/call_creds.c
index 417f7e8..f749a60 100644
--- a/test/core/end2end/tests/call_creds.c
+++ b/test/core/end2end/tests/call_creds.c
@@ -42,8 +42,8 @@
 #include <grpc/support/log.h>
 #include <grpc/support/time.h>
 #include <grpc/support/useful.h>
-#include "src/core/security/credentials.h"
-#include "src/core/support/string.h"
+#include "src/core/lib/security/credentials.h"
+#include "src/core/lib/support/string.h"
 #include "test/core/end2end/cq_verifier.h"
 
 static const char iam_token[] = "token";
diff --git a/test/core/end2end/tests/cancel_with_status.c b/test/core/end2end/tests/cancel_with_status.c
index 135bdf0..e5a1556 100644
--- a/test/core/end2end/tests/cancel_with_status.c
+++ b/test/core/end2end/tests/cancel_with_status.c
@@ -42,7 +42,7 @@
 #include <grpc/support/log.h>
 #include <grpc/support/time.h>
 #include <grpc/support/useful.h>
-#include "src/core/support/string.h"
+#include "src/core/lib/support/string.h"
 #include "test/core/end2end/cq_verifier.h"
 
 enum { TIMEOUT = 200000 };
diff --git a/test/core/end2end/tests/compressed_payload.c b/test/core/end2end/tests/compressed_payload.c
index c9092e3..9c25885 100644
--- a/test/core/end2end/tests/compressed_payload.c
+++ b/test/core/end2end/tests/compressed_payload.c
@@ -43,9 +43,9 @@
 #include <grpc/support/time.h>
 #include <grpc/support/useful.h>
 
-#include "src/core/channel/channel_args.h"
-#include "src/core/channel/compress_filter.h"
-#include "src/core/surface/call_test_only.h"
+#include "src/core/lib/channel/channel_args.h"
+#include "src/core/lib/channel/compress_filter.h"
+#include "src/core/lib/surface/call_test_only.h"
 #include "test/core/end2end/cq_verifier.h"
 
 enum { TIMEOUT = 200000 };
diff --git a/test/core/end2end/tests/default_host.c b/test/core/end2end/tests/default_host.c
index 5455428..576d81e 100644
--- a/test/core/end2end/tests/default_host.c
+++ b/test/core/end2end/tests/default_host.c
@@ -42,7 +42,7 @@
 #include <grpc/support/log.h>
 #include <grpc/support/time.h>
 #include <grpc/support/useful.h>
-#include "src/core/support/string.h"
+#include "src/core/lib/support/string.h"
 #include "test/core/end2end/cq_verifier.h"
 
 enum { TIMEOUT = 200000 };
diff --git a/test/core/end2end/tests/empty_batch.c b/test/core/end2end/tests/empty_batch.c
index 53b5ca5..7f56313 100644
--- a/test/core/end2end/tests/empty_batch.c
+++ b/test/core/end2end/tests/empty_batch.c
@@ -42,7 +42,7 @@
 #include <grpc/support/log.h>
 #include <grpc/support/time.h>
 #include <grpc/support/useful.h>
-#include "src/core/support/string.h"
+#include "src/core/lib/support/string.h"
 #include "test/core/end2end/cq_verifier.h"
 
 enum { TIMEOUT = 200000 };
diff --git a/test/core/end2end/tests/high_initial_seqno.c b/test/core/end2end/tests/high_initial_seqno.c
index 7200782..2196fbd 100644
--- a/test/core/end2end/tests/high_initial_seqno.c
+++ b/test/core/end2end/tests/high_initial_seqno.c
@@ -44,7 +44,7 @@
 #include <grpc/support/time.h>
 #include <grpc/support/useful.h>
 
-#include "src/core/support/string.h"
+#include "src/core/lib/support/string.h"
 #include "test/core/end2end/cq_verifier.h"
 
 enum { TIMEOUT = 200000 };
diff --git a/test/core/end2end/tests/hpack_size.c b/test/core/end2end/tests/hpack_size.c
index 1891318..2774e50 100644
--- a/test/core/end2end/tests/hpack_size.c
+++ b/test/core/end2end/tests/hpack_size.c
@@ -44,7 +44,7 @@
 #include <grpc/support/time.h>
 #include <grpc/support/useful.h>
 
-#include "src/core/support/string.h"
+#include "src/core/lib/support/string.h"
 #include "test/core/end2end/cq_verifier.h"
 
 static void *tag(intptr_t t) { return (void *)t; }
diff --git a/test/core/end2end/tests/negative_deadline.c b/test/core/end2end/tests/negative_deadline.c
index 5de82c9..e5031af 100644
--- a/test/core/end2end/tests/negative_deadline.c
+++ b/test/core/end2end/tests/negative_deadline.c
@@ -42,7 +42,7 @@
 #include <grpc/support/log.h>
 #include <grpc/support/time.h>
 #include <grpc/support/useful.h>
-#include "src/core/support/string.h"
+#include "src/core/lib/support/string.h"
 #include "test/core/end2end/cq_verifier.h"
 
 enum { TIMEOUT = 200000 };
diff --git a/test/core/end2end/tests/registered_call.c b/test/core/end2end/tests/registered_call.c
index 4051ded..09f452f 100644
--- a/test/core/end2end/tests/registered_call.c
+++ b/test/core/end2end/tests/registered_call.c
@@ -42,7 +42,7 @@
 #include <grpc/support/log.h>
 #include <grpc/support/time.h>
 #include <grpc/support/useful.h>
-#include "src/core/support/string.h"
+#include "src/core/lib/support/string.h"
 #include "test/core/end2end/cq_verifier.h"
 
 enum { TIMEOUT = 200000 };
diff --git a/test/core/end2end/tests/request_with_flags.c b/test/core/end2end/tests/request_with_flags.c
index f480009..433622e 100644
--- a/test/core/end2end/tests/request_with_flags.c
+++ b/test/core/end2end/tests/request_with_flags.c
@@ -41,7 +41,7 @@
 #include <grpc/support/log.h>
 #include <grpc/support/time.h>
 #include <grpc/support/useful.h>
-#include "src/core/transport/byte_stream.h"
+#include "src/core/lib/transport/byte_stream.h"
 #include "test/core/end2end/cq_verifier.h"
 
 enum { TIMEOUT = 200000 };
diff --git a/test/core/end2end/tests/server_finishes_request.c b/test/core/end2end/tests/server_finishes_request.c
index a7d1661..d3ac2d5 100644
--- a/test/core/end2end/tests/server_finishes_request.c
+++ b/test/core/end2end/tests/server_finishes_request.c
@@ -42,7 +42,7 @@
 #include <grpc/support/log.h>
 #include <grpc/support/time.h>
 #include <grpc/support/useful.h>
-#include "src/core/support/string.h"
+#include "src/core/lib/support/string.h"
 #include "test/core/end2end/cq_verifier.h"
 
 enum { TIMEOUT = 200000 };
diff --git a/test/core/end2end/tests/simple_request.c b/test/core/end2end/tests/simple_request.c
index a8ed793..bc634ef 100644
--- a/test/core/end2end/tests/simple_request.c
+++ b/test/core/end2end/tests/simple_request.c
@@ -42,7 +42,7 @@
 #include <grpc/support/log.h>
 #include <grpc/support/time.h>
 #include <grpc/support/useful.h>
-#include "src/core/support/string.h"
+#include "src/core/lib/support/string.h"
 #include "test/core/end2end/cq_verifier.h"
 
 enum { TIMEOUT = 200000 };
diff --git a/test/core/fling/client.c b/test/core/fling/client.c
index b36aef3..6a4eb1c 100644
--- a/test/core/fling/client.c
+++ b/test/core/fling/client.c
@@ -41,7 +41,7 @@
 #include <grpc/support/log.h>
 #include <grpc/support/time.h>
 #include <grpc/support/useful.h>
-#include "src/core/profiling/timers.h"
+#include "src/core/lib/profiling/timers.h"
 #include "test/core/util/grpc_profiler.h"
 #include "test/core/util/test_config.h"
 
diff --git a/test/core/fling/fling_stream_test.c b/test/core/fling/fling_stream_test.c
index ff3d919..2807504 100644
--- a/test/core/fling/fling_stream_test.c
+++ b/test/core/fling/fling_stream_test.c
@@ -47,7 +47,7 @@
 #include <grpc/support/alloc.h>
 #include <grpc/support/host_port.h>
 #include <grpc/support/string_util.h>
-#include "src/core/support/string.h"
+#include "src/core/lib/support/string.h"
 #include "test/core/util/port.h"
 
 int main(int argc, char **argv) {
diff --git a/test/core/fling/fling_test.c b/test/core/fling/fling_test.c
index 4e16b7f..46456a2 100644
--- a/test/core/fling/fling_test.c
+++ b/test/core/fling/fling_test.c
@@ -38,7 +38,7 @@
 #include <grpc/support/host_port.h>
 #include <grpc/support/string_util.h>
 #include <grpc/support/subprocess.h>
-#include "src/core/support/string.h"
+#include "src/core/lib/support/string.h"
 #include "test/core/util/port.h"
 
 int main(int argc, char **argv) {
diff --git a/test/core/fling/server.c b/test/core/fling/server.c
index 42be20e..4fef21f 100644
--- a/test/core/fling/server.c
+++ b/test/core/fling/server.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -49,7 +49,7 @@
 #include <grpc/support/host_port.h>
 #include <grpc/support/log.h>
 #include <grpc/support/time.h>
-#include "src/core/profiling/timers.h"
+#include "src/core/lib/profiling/timers.h"
 #include "test/core/end2end/data/ssl_test_data.h"
 #include "test/core/util/grpc_profiler.h"
 #include "test/core/util/port.h"
diff --git a/test/core/http/format_request_test.c b/test/core/http/format_request_test.c
index 5e2b709..a676420 100644
--- a/test/core/http/format_request_test.c
+++ b/test/core/http/format_request_test.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/http/format_request.h"
+#include "src/core/lib/http/format_request.h"
 
 #include <string.h>
 
diff --git a/test/core/http/httpcli_test.c b/test/core/http/httpcli_test.c
index bdb7a02..1fdbcd0 100644
--- a/test/core/http/httpcli_test.c
+++ b/test/core/http/httpcli_test.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/http/httpcli.h"
+#include "src/core/lib/http/httpcli.h"
 
 #include <string.h>
 
@@ -41,7 +41,7 @@
 #include <grpc/support/string_util.h>
 #include <grpc/support/subprocess.h>
 #include <grpc/support/sync.h>
-#include "src/core/iomgr/iomgr.h"
+#include "src/core/lib/iomgr/iomgr.h"
 #include "test/core/util/port.h"
 #include "test/core/util/test_config.h"
 
diff --git a/test/core/http/httpscli_test.c b/test/core/http/httpscli_test.c
index 21845b6..71db3e7 100644
--- a/test/core/http/httpscli_test.c
+++ b/test/core/http/httpscli_test.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/http/httpcli.h"
+#include "src/core/lib/http/httpcli.h"
 
 #include <string.h>
 
@@ -41,7 +41,7 @@
 #include <grpc/support/string_util.h>
 #include <grpc/support/subprocess.h>
 #include <grpc/support/sync.h>
-#include "src/core/iomgr/iomgr.h"
+#include "src/core/lib/iomgr/iomgr.h"
 #include "test/core/util/port.h"
 #include "test/core/util/test_config.h"
 
diff --git a/test/core/http/parser_test.c b/test/core/http/parser_test.c
index 338a301..eeb4de7 100644
--- a/test/core/http/parser_test.c
+++ b/test/core/http/parser_test.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/http/parser.h"
+#include "src/core/lib/http/parser.h"
 
 #include <stdarg.h>
 #include <string.h>
diff --git a/test/core/http/test_server.py b/test/core/http/test_server.py
index ecde494..9f8d052 100755
--- a/test/core/http/test_server.py
+++ b/test/core/http/test_server.py
@@ -36,8 +36,8 @@
 import ssl
 import sys
 
-_PEM = os.path.abspath(os.path.join(os.path.dirname(sys.argv[0]), '../../..', 'src/core/tsi/test_creds/server1.pem'))
-_KEY = os.path.abspath(os.path.join(os.path.dirname(sys.argv[0]), '../../..', 'src/core/tsi/test_creds/server1.key'))
+_PEM = os.path.abspath(os.path.join(os.path.dirname(sys.argv[0]), '../../..', 'src/core/lib/tsi/test_creds/server1.pem'))
+_KEY = os.path.abspath(os.path.join(os.path.dirname(sys.argv[0]), '../../..', 'src/core/lib/tsi/test_creds/server1.key'))
 print _PEM
 open(_PEM).close()
 
diff --git a/test/core/iomgr/endpoint_pair_test.c b/test/core/iomgr/endpoint_pair_test.c
index c3a9108..a91a9a7 100644
--- a/test/core/iomgr/endpoint_pair_test.c
+++ b/test/core/iomgr/endpoint_pair_test.c
@@ -31,14 +31,14 @@
  *
  */
 
-#include "src/core/iomgr/tcp_posix.h"
+#include "src/core/lib/iomgr/tcp_posix.h"
 
 #include <grpc/grpc.h>
 #include <grpc/support/alloc.h>
 #include <grpc/support/log.h>
 #include <grpc/support/time.h>
 #include <grpc/support/useful.h>
-#include "src/core/iomgr/endpoint_pair.h"
+#include "src/core/lib/iomgr/endpoint_pair.h"
 #include "test/core/iomgr/endpoint_tests.h"
 #include "test/core/util/test_config.h"
 
diff --git a/test/core/iomgr/endpoint_tests.h b/test/core/iomgr/endpoint_tests.h
index 8ea47e3..c7542a0 100644
--- a/test/core/iomgr/endpoint_tests.h
+++ b/test/core/iomgr/endpoint_tests.h
@@ -36,7 +36,7 @@
 
 #include <sys/types.h>
 
-#include "src/core/iomgr/endpoint.h"
+#include "src/core/lib/iomgr/endpoint.h"
 
 typedef struct grpc_endpoint_test_config grpc_endpoint_test_config;
 typedef struct grpc_endpoint_test_fixture grpc_endpoint_test_fixture;
diff --git a/test/core/iomgr/fd_conservation_posix_test.c b/test/core/iomgr/fd_conservation_posix_test.c
index c38f509..aae94e7 100644
--- a/test/core/iomgr/fd_conservation_posix_test.c
+++ b/test/core/iomgr/fd_conservation_posix_test.c
@@ -35,8 +35,8 @@
 
 #include <grpc/support/log.h>
 
-#include "src/core/iomgr/endpoint_pair.h"
-#include "src/core/iomgr/iomgr.h"
+#include "src/core/lib/iomgr/endpoint_pair.h"
+#include "src/core/lib/iomgr/iomgr.h"
 #include "test/core/util/test_config.h"
 
 int main(int argc, char **argv) {
diff --git a/test/core/iomgr/fd_posix_test.c b/test/core/iomgr/fd_posix_test.c
index 99689eb..203e1e3 100644
--- a/test/core/iomgr/fd_posix_test.c
+++ b/test/core/iomgr/fd_posix_test.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/iomgr/fd_posix.h"
+#include "src/core/lib/iomgr/fd_posix.h"
 
 #include <ctype.h>
 #include <errno.h>
@@ -50,7 +50,7 @@
 #include <grpc/support/sync.h>
 #include <grpc/support/time.h>
 
-#include "src/core/iomgr/pollset_posix.h"
+#include "src/core/lib/iomgr/pollset_posix.h"
 #include "test/core/util/test_config.h"
 
 static gpr_mu *g_mu;
diff --git a/test/core/iomgr/resolve_address_test.c b/test/core/iomgr/resolve_address_test.c
index b2a0997..7aec91a 100644
--- a/test/core/iomgr/resolve_address_test.c
+++ b/test/core/iomgr/resolve_address_test.c
@@ -31,11 +31,11 @@
  *
  */
 
-#include "src/core/iomgr/resolve_address.h"
+#include "src/core/lib/iomgr/resolve_address.h"
 #include <grpc/support/log.h>
 #include <grpc/support/sync.h>
 #include <grpc/support/time.h>
-#include "src/core/iomgr/executor.h"
+#include "src/core/lib/iomgr/executor.h"
 #include "test/core/util/test_config.h"
 
 static gpr_timespec test_deadline(void) {
diff --git a/test/core/iomgr/sockaddr_utils_test.c b/test/core/iomgr/sockaddr_utils_test.c
index a7b57c1..19bee9a 100644
--- a/test/core/iomgr/sockaddr_utils_test.c
+++ b/test/core/iomgr/sockaddr_utils_test.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/iomgr/sockaddr_utils.h"
+#include "src/core/lib/iomgr/sockaddr_utils.h"
 
 #include <errno.h>
 #include <string.h>
diff --git a/test/core/iomgr/socket_utils_test.c b/test/core/iomgr/socket_utils_test.c
index 58c3fbc..8238a9c 100644
--- a/test/core/iomgr/socket_utils_test.c
+++ b/test/core/iomgr/socket_utils_test.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -32,7 +32,7 @@
  */
 
 #include <grpc/support/port_platform.h>
-#include "src/core/iomgr/socket_utils_posix.h"
+#include "src/core/lib/iomgr/socket_utils_posix.h"
 
 #include <errno.h>
 #include <string.h>
diff --git a/test/core/iomgr/tcp_client_posix_test.c b/test/core/iomgr/tcp_client_posix_test.c
index 746dfd8..d798bf2 100644
--- a/test/core/iomgr/tcp_client_posix_test.c
+++ b/test/core/iomgr/tcp_client_posix_test.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/iomgr/tcp_client.h"
+#include "src/core/lib/iomgr/tcp_client.h"
 
 #include <errno.h>
 #include <netinet/in.h>
@@ -44,9 +44,9 @@
 #include <grpc/support/log.h>
 #include <grpc/support/time.h>
 
-#include "src/core/iomgr/iomgr.h"
-#include "src/core/iomgr/socket_utils_posix.h"
-#include "src/core/iomgr/timer.h"
+#include "src/core/lib/iomgr/iomgr.h"
+#include "src/core/lib/iomgr/socket_utils_posix.h"
+#include "src/core/lib/iomgr/timer.h"
 #include "test/core/util/test_config.h"
 
 static grpc_pollset_set *g_pollset_set;
diff --git a/test/core/iomgr/tcp_posix_test.c b/test/core/iomgr/tcp_posix_test.c
index 4351642..79f18c6 100644
--- a/test/core/iomgr/tcp_posix_test.c
+++ b/test/core/iomgr/tcp_posix_test.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/iomgr/tcp_posix.h"
+#include "src/core/lib/iomgr/tcp_posix.h"
 
 #include <errno.h>
 #include <fcntl.h>
diff --git a/test/core/iomgr/tcp_server_posix_test.c b/test/core/iomgr/tcp_server_posix_test.c
index 7933468..cde147d 100644
--- a/test/core/iomgr/tcp_server_posix_test.c
+++ b/test/core/iomgr/tcp_server_posix_test.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/iomgr/tcp_server.h"
+#include "src/core/lib/iomgr/tcp_server.h"
 
 #include <errno.h>
 #include <netinet/in.h>
@@ -45,8 +45,8 @@
 #include <grpc/support/sync.h>
 #include <grpc/support/time.h>
 
-#include "src/core/iomgr/iomgr.h"
-#include "src/core/iomgr/sockaddr_utils.h"
+#include "src/core/lib/iomgr/iomgr.h"
+#include "src/core/lib/iomgr/sockaddr_utils.h"
 #include "test/core/util/port.h"
 #include "test/core/util/test_config.h"
 
diff --git a/test/core/iomgr/time_averaged_stats_test.c b/test/core/iomgr/time_averaged_stats_test.c
index cb006d1..a49d899 100644
--- a/test/core/iomgr/time_averaged_stats_test.c
+++ b/test/core/iomgr/time_averaged_stats_test.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/iomgr/time_averaged_stats.h"
+#include "src/core/lib/iomgr/time_averaged_stats.h"
 
 #include <math.h>
 
diff --git a/test/core/iomgr/timer_heap_test.c b/test/core/iomgr/timer_heap_test.c
index dd23a99..d230c83 100644
--- a/test/core/iomgr/timer_heap_test.c
+++ b/test/core/iomgr/timer_heap_test.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/iomgr/timer_heap.h"
+#include "src/core/lib/iomgr/timer_heap.h"
 
 #include <stdlib.h>
 #include <string.h>
diff --git a/test/core/iomgr/timer_list_test.c b/test/core/iomgr/timer_list_test.c
index 955bf44..0333a75 100644
--- a/test/core/iomgr/timer_list_test.c
+++ b/test/core/iomgr/timer_list_test.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/iomgr/timer.h"
+#include "src/core/lib/iomgr/timer.h"
 
 #include <string.h>
 
diff --git a/test/core/iomgr/udp_server_test.c b/test/core/iomgr/udp_server_test.c
index 042e936..0c55ef0 100644
--- a/test/core/iomgr/udp_server_test.c
+++ b/test/core/iomgr/udp_server_test.c
@@ -31,13 +31,13 @@
  *
  */
 
-#include "src/core/iomgr/udp_server.h"
+#include "src/core/lib/iomgr/udp_server.h"
 #include <grpc/grpc.h>
 #include <grpc/support/log.h>
 #include <grpc/support/sync.h>
 #include <grpc/support/time.h>
-#include "src/core/iomgr/iomgr.h"
-#include "src/core/iomgr/pollset_posix.h"
+#include "src/core/lib/iomgr/iomgr.h"
+#include "src/core/lib/iomgr/pollset_posix.h"
 #include "test/core/util/test_config.h"
 
 #include <netinet/in.h>
diff --git a/test/core/iomgr/workqueue_test.c b/test/core/iomgr/workqueue_test.c
index 8a1faf6..2d9b5d0 100644
--- a/test/core/iomgr/workqueue_test.c
+++ b/test/core/iomgr/workqueue_test.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/iomgr/workqueue.h"
+#include "src/core/lib/iomgr/workqueue.h"
 
 #include <grpc/grpc.h>
 #include <grpc/support/alloc.h>
diff --git a/test/core/json/json_rewrite.c b/test/core/json/json_rewrite.c
index 0c615a9..41090db 100644
--- a/test/core/json/json_rewrite.c
+++ b/test/core/json/json_rewrite.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -38,8 +38,8 @@
 #include <grpc/support/cmdline.h>
 #include <grpc/support/log.h>
 
-#include "src/core/json/json_reader.h"
-#include "src/core/json/json_writer.h"
+#include "src/core/lib/json/json_reader.h"
+#include "src/core/lib/json/json_writer.h"
 
 typedef struct json_writer_userdata { FILE *out; } json_writer_userdata;
 
diff --git a/test/core/json/json_rewrite_test.c b/test/core/json/json_rewrite_test.c
index 1916d4b..33fc98e 100644
--- a/test/core/json/json_rewrite_test.c
+++ b/test/core/json/json_rewrite_test.c
@@ -39,8 +39,8 @@
 #include <grpc/support/useful.h>
 #include "test/core/util/test_config.h"
 
-#include "src/core/json/json_reader.h"
-#include "src/core/json/json_writer.h"
+#include "src/core/lib/json/json_reader.h"
+#include "src/core/lib/json/json_writer.h"
 
 typedef struct json_writer_userdata { FILE *cmp; } json_writer_userdata;
 
diff --git a/test/core/json/json_stream_error_test.c b/test/core/json/json_stream_error_test.c
index 3b07fcd..630e1b0 100644
--- a/test/core/json/json_stream_error_test.c
+++ b/test/core/json/json_stream_error_test.c
@@ -39,8 +39,8 @@
 #include <grpc/support/useful.h>
 #include "test/core/util/test_config.h"
 
-#include "src/core/json/json_reader.h"
-#include "src/core/json/json_writer.h"
+#include "src/core/lib/json/json_reader.h"
+#include "src/core/lib/json/json_writer.h"
 
 static int g_string_clear_once = 0;
 
diff --git a/test/core/json/json_test.c b/test/core/json/json_test.c
index e9b81e2..2a00762 100644
--- a/test/core/json/json_test.c
+++ b/test/core/json/json_test.c
@@ -37,8 +37,8 @@
 #include <grpc/support/log.h>
 #include <grpc/support/string_util.h>
 #include <grpc/support/useful.h>
-#include "src/core/json/json.h"
-#include "src/core/support/string.h"
+#include "src/core/lib/json/json.h"
+#include "src/core/lib/support/string.h"
 
 #include "test/core/util/test_config.h"
 
diff --git a/test/core/network_benchmarks/low_level_ping_pong.c b/test/core/network_benchmarks/low_level_ping_pong.c
index 7ed3372..b8c6954 100644
--- a/test/core/network_benchmarks/low_level_ping_pong.c
+++ b/test/core/network_benchmarks/low_level_ping_pong.c
@@ -55,7 +55,7 @@
 #include <grpc/support/thd.h>
 #include <grpc/support/time.h>
 #include <grpc/support/useful.h>
-#include "src/core/iomgr/socket_utils_posix.h"
+#include "src/core/lib/iomgr/socket_utils_posix.h"
 
 typedef struct fd_pair {
   int read_fd;
diff --git a/test/core/profiling/timers_test.c b/test/core/profiling/timers_test.c
index 7070fe4..a383119 100644
--- a/test/core/profiling/timers_test.c
+++ b/test/core/profiling/timers_test.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/profiling/timers.h"
+#include "src/core/lib/profiling/timers.h"
 #include <stdlib.h>
 #include "test/core/util/test_config.h"
 
diff --git a/test/core/security/auth_context_test.c b/test/core/security/auth_context_test.c
index d091c7e..84d2afb 100644
--- a/test/core/security/auth_context_test.c
+++ b/test/core/security/auth_context_test.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -33,8 +33,8 @@
 
 #include <string.h>
 
-#include "src/core/security/security_context.h"
-#include "src/core/support/string.h"
+#include "src/core/lib/security/security_context.h"
+#include "src/core/lib/support/string.h"
 #include "test/core/util/test_config.h"
 
 #include <grpc/support/log.h>
diff --git a/test/core/security/b64_test.c b/test/core/security/b64_test.c
index 772514e..ab15df2 100644
--- a/test/core/security/b64_test.c
+++ b/test/core/security/b64_test.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/security/b64.h"
+#include "src/core/lib/security/b64.h"
 
 #include <string.h>
 
diff --git a/test/core/security/create_jwt.c b/test/core/security/create_jwt.c
index 4c0cf43..3416de7 100644
--- a/test/core/security/create_jwt.c
+++ b/test/core/security/create_jwt.c
@@ -34,9 +34,9 @@
 #include <stdio.h>
 #include <string.h>
 
-#include "src/core/security/credentials.h"
-#include "src/core/security/json_token.h"
-#include "src/core/support/load_file.h"
+#include "src/core/lib/security/credentials.h"
+#include "src/core/lib/security/json_token.h"
+#include "src/core/lib/support/load_file.h"
 
 #include <grpc/support/alloc.h>
 #include <grpc/support/cmdline.h>
diff --git a/test/core/security/credentials_test.c b/test/core/security/credentials_test.c
index 3a6b969..e741e36 100644
--- a/test/core/security/credentials_test.c
+++ b/test/core/security/credentials_test.c
@@ -33,7 +33,7 @@
 
 #include <grpc/support/port_platform.h>
 
-#include "src/core/security/credentials.h"
+#include "src/core/lib/security/credentials.h"
 
 #include <openssl/rsa.h>
 #include <stdlib.h>
@@ -44,11 +44,11 @@
 #include <grpc/support/string_util.h>
 #include <grpc/support/time.h>
 
-#include "src/core/http/httpcli.h"
-#include "src/core/security/json_token.h"
-#include "src/core/support/env.h"
-#include "src/core/support/string.h"
-#include "src/core/support/tmpfile.h"
+#include "src/core/lib/http/httpcli.h"
+#include "src/core/lib/security/json_token.h"
+#include "src/core/lib/support/env.h"
+#include "src/core/lib/support/string.h"
+#include "src/core/lib/support/tmpfile.h"
 #include "test/core/util/test_config.h"
 
 /* -- Mock channel credentials. -- */
diff --git a/test/core/security/fetch_oauth2.c b/test/core/security/fetch_oauth2.c
index 87b54f1..1f4e180 100644
--- a/test/core/security/fetch_oauth2.c
+++ b/test/core/security/fetch_oauth2.c
@@ -42,8 +42,8 @@
 #include <grpc/support/slice.h>
 #include <grpc/support/sync.h>
 
-#include "src/core/security/credentials.h"
-#include "src/core/support/load_file.h"
+#include "src/core/lib/security/credentials.h"
+#include "src/core/lib/support/load_file.h"
 #include "test/core/security/oauth2_utils.h"
 
 static grpc_call_credentials *create_refresh_token_creds(
diff --git a/test/core/security/json_token_test.c b/test/core/security/json_token_test.c
index 4d80c16..460d529 100644
--- a/test/core/security/json_token_test.c
+++ b/test/core/security/json_token_test.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/security/json_token.h"
+#include "src/core/lib/security/json_token.h"
 
 #include <openssl/evp.h>
 #include <string.h>
@@ -41,8 +41,8 @@
 #include <grpc/support/log.h>
 #include <grpc/support/slice.h>
 
-#include "src/core/json/json.h"
-#include "src/core/security/b64.h"
+#include "src/core/lib/json/json.h"
+#include "src/core/lib/security/b64.h"
 #include "test/core/util/test_config.h"
 
 /* This JSON key was generated with the GCE console and revoked immediately.
diff --git a/test/core/security/jwt_verifier_test.c b/test/core/security/jwt_verifier_test.c
index d2f8d1d..c57f4d7 100644
--- a/test/core/security/jwt_verifier_test.c
+++ b/test/core/security/jwt_verifier_test.c
@@ -31,13 +31,13 @@
  *
  */
 
-#include "src/core/security/jwt_verifier.h"
+#include "src/core/lib/security/jwt_verifier.h"
 
 #include <string.h>
 
-#include "src/core/http/httpcli.h"
-#include "src/core/security/b64.h"
-#include "src/core/security/json_token.h"
+#include "src/core/lib/http/httpcli.h"
+#include "src/core/lib/security/b64.h"
+#include "src/core/lib/security/json_token.h"
 #include "test/core/util/test_config.h"
 
 #include <grpc/support/alloc.h>
diff --git a/test/core/security/oauth2_utils.c b/test/core/security/oauth2_utils.c
index 9b70aff..52259e6 100644
--- a/test/core/security/oauth2_utils.c
+++ b/test/core/security/oauth2_utils.c
@@ -42,7 +42,7 @@
 #include <grpc/support/slice.h>
 #include <grpc/support/sync.h>
 
-#include "src/core/security/credentials.h"
+#include "src/core/lib/security/credentials.h"
 
 typedef struct {
   gpr_mu *mu;
diff --git a/test/core/security/oauth2_utils.h b/test/core/security/oauth2_utils.h
index b35fe79..5930f47 100644
--- a/test/core/security/oauth2_utils.h
+++ b/test/core/security/oauth2_utils.h
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -34,7 +34,7 @@
 #ifndef GRPC_TEST_CORE_SECURITY_OAUTH2_UTILS_H
 #define GRPC_TEST_CORE_SECURITY_OAUTH2_UTILS_H
 
-#include "src/core/security/credentials.h"
+#include "src/core/lib/security/credentials.h"
 
 #ifdef __cplusplus
 extern "C" {
diff --git a/test/core/security/print_google_default_creds_token.c b/test/core/security/print_google_default_creds_token.c
index 09673f3..49812f7 100644
--- a/test/core/security/print_google_default_creds_token.c
+++ b/test/core/security/print_google_default_creds_token.c
@@ -42,8 +42,8 @@
 #include <grpc/support/slice.h>
 #include <grpc/support/sync.h>
 
-#include "src/core/security/credentials.h"
-#include "src/core/support/string.h"
+#include "src/core/lib/security/credentials.h"
+#include "src/core/lib/support/string.h"
 
 typedef struct {
   gpr_mu *mu;
diff --git a/test/core/security/secure_endpoint_test.c b/test/core/security/secure_endpoint_test.c
index 0e8c38a..f6884ec 100644
--- a/test/core/security/secure_endpoint_test.c
+++ b/test/core/security/secure_endpoint_test.c
@@ -39,10 +39,10 @@
 #include <grpc/grpc.h>
 #include <grpc/support/alloc.h>
 #include <grpc/support/log.h>
-#include "src/core/iomgr/endpoint_pair.h"
-#include "src/core/iomgr/iomgr.h"
-#include "src/core/security/secure_endpoint.h"
-#include "src/core/tsi/fake_transport_security.h"
+#include "src/core/lib/iomgr/endpoint_pair.h"
+#include "src/core/lib/iomgr/iomgr.h"
+#include "src/core/lib/security/secure_endpoint.h"
+#include "src/core/lib/tsi/fake_transport_security.h"
 #include "test/core/util/test_config.h"
 
 static gpr_mu *g_mu;
diff --git a/test/core/security/security_connector_test.c b/test/core/security/security_connector_test.c
index 31a56ea..b080343 100644
--- a/test/core/security/security_connector_test.c
+++ b/test/core/security/security_connector_test.c
@@ -40,13 +40,13 @@
 #include <grpc/support/string_util.h>
 #include <grpc/support/useful.h>
 
-#include "src/core/security/security_connector.h"
-#include "src/core/security/security_context.h"
-#include "src/core/support/env.h"
-#include "src/core/support/string.h"
-#include "src/core/support/tmpfile.h"
-#include "src/core/tsi/ssl_transport_security.h"
-#include "src/core/tsi/transport_security.h"
+#include "src/core/lib/security/security_connector.h"
+#include "src/core/lib/security/security_context.h"
+#include "src/core/lib/support/env.h"
+#include "src/core/lib/support/string.h"
+#include "src/core/lib/support/tmpfile.h"
+#include "src/core/lib/tsi/ssl_transport_security.h"
+#include "src/core/lib/tsi/transport_security.h"
 #include "test/core/util/test_config.h"
 
 static int check_transport_security_type(const grpc_auth_context *ctx) {
diff --git a/test/core/security/verify_jwt.c b/test/core/security/verify_jwt.c
index eb86589..c08e03d 100644
--- a/test/core/security/verify_jwt.c
+++ b/test/core/security/verify_jwt.c
@@ -42,7 +42,7 @@
 #include <grpc/support/slice.h>
 #include <grpc/support/sync.h>
 
-#include "src/core/security/jwt_verifier.h"
+#include "src/core/lib/security/jwt_verifier.h"
 
 typedef struct {
   grpc_pollset *pollset;
diff --git a/test/core/statistics/census_log_tests.c b/test/core/statistics/census_log_tests.c
index 7cbb0c0..fef8e9e 100644
--- a/test/core/statistics/census_log_tests.c
+++ b/test/core/statistics/census_log_tests.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/statistics/census_log.h"
+#include "src/core/lib/statistics/census_log.h"
 #include <grpc/support/cpu.h>
 #include <grpc/support/log.h>
 #include <grpc/support/port_platform.h>
diff --git a/test/core/statistics/census_stub_test.c b/test/core/statistics/census_stub_test.c
index e734a34..df5d25b 100644
--- a/test/core/statistics/census_stub_test.c
+++ b/test/core/statistics/census_stub_test.c
@@ -36,8 +36,8 @@
 
 #include <grpc/support/alloc.h>
 #include <grpc/support/log.h>
-#include "src/core/statistics/census_interface.h"
-#include "src/core/statistics/census_rpc_stats.h"
+#include "src/core/lib/statistics/census_interface.h"
+#include "src/core/lib/statistics/census_rpc_stats.h"
 #include "test/core/util/test_config.h"
 
 /* Tests census noop stubs in a simulated rpc flow */
diff --git a/test/core/statistics/hash_table_test.c b/test/core/statistics/hash_table_test.c
index 7ff5bb7..903d297 100644
--- a/test/core/statistics/hash_table_test.c
+++ b/test/core/statistics/hash_table_test.c
@@ -35,13 +35,13 @@
 #include <stdlib.h>
 #include <string.h>
 
-#include "src/core/statistics/hash_table.h"
+#include "src/core/lib/statistics/hash_table.h"
 
 #include <grpc/support/alloc.h>
 #include <grpc/support/log.h>
 #include <grpc/support/time.h>
-#include "src/core/support/murmur_hash.h"
-#include "src/core/support/string.h"
+#include "src/core/lib/support/murmur_hash.h"
+#include "src/core/lib/support/string.h"
 #include "test/core/util/test_config.h"
 
 static uint64_t hash64(const void *k) {
diff --git a/test/core/statistics/rpc_stats_test.c b/test/core/statistics/rpc_stats_test.c
index 3ece3ca..dc2f70b 100644
--- a/test/core/statistics/rpc_stats_test.c
+++ b/test/core/statistics/rpc_stats_test.c
@@ -39,9 +39,9 @@
 #include <grpc/support/string.h>
 #include <grpc/support/thd.h>
 #include <grpc/support/time.h>
-#include "src/core/statistics/census_interface.h"
-#include "src/core/statistics/census_rpc_stats.h"
-#include "src/core/statistics/census_tracing.h"
+#include "src/core/lib/statistics/census_interface.h"
+#include "src/core/lib/statistics/census_rpc_stats.h"
+#include "src/core/lib/statistics/census_tracing.h"
 #include "test/core/util/test_config.h"
 
 /* Ensure all possible state transitions are called without causing problem */
diff --git a/test/core/statistics/trace_test.c b/test/core/statistics/trace_test.c
index 2c64e89..2cc3ddd 100644
--- a/test/core/statistics/trace_test.c
+++ b/test/core/statistics/trace_test.c
@@ -41,9 +41,9 @@
 #include <grpc/support/thd.h>
 #include <grpc/support/time.h>
 #include <grpc/support/useful.h>
-#include "src/core/statistics/census_interface.h"
-#include "src/core/statistics/census_tracing.h"
-#include "src/core/statistics/census_tracing.h"
+#include "src/core/lib/statistics/census_interface.h"
+#include "src/core/lib/statistics/census_tracing.h"
+#include "src/core/lib/statistics/census_tracing.h"
 #include "test/core/util/test_config.h"
 
 /* Ensure all possible state transitions are called without causing problem */
diff --git a/test/core/statistics/window_stats_test.c b/test/core/statistics/window_stats_test.c
index 9ed7ee1..ed0d7bb 100644
--- a/test/core/statistics/window_stats_test.c
+++ b/test/core/statistics/window_stats_test.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/statistics/window_stats.h"
+#include "src/core/lib/statistics/window_stats.h"
 #include <grpc/support/log.h>
 #include <grpc/support/time.h>
 #include <stdlib.h>
diff --git a/test/core/support/backoff_test.c b/test/core/support/backoff_test.c
index 870b60b..13cba7d 100644
--- a/test/core/support/backoff_test.c
+++ b/test/core/support/backoff_test.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/support/backoff.h"
+#include "src/core/lib/support/backoff.h"
 
 #include <grpc/support/log.h>
 
diff --git a/test/core/support/env_test.c b/test/core/support/env_test.c
index 69aebcc..1ab86d6 100644
--- a/test/core/support/env_test.c
+++ b/test/core/support/env_test.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -37,8 +37,8 @@
 #include <grpc/support/alloc.h>
 #include <grpc/support/log.h>
 
-#include "src/core/support/env.h"
-#include "src/core/support/string.h"
+#include "src/core/lib/support/env.h"
+#include "src/core/lib/support/string.h"
 #include "test/core/util/test_config.h"
 
 #define LOG_TEST_NAME(x) gpr_log(GPR_INFO, "%s", x)
diff --git a/test/core/support/load_file_test.c b/test/core/support/load_file_test.c
index a14fdc6..6bc7b90 100644
--- a/test/core/support/load_file_test.c
+++ b/test/core/support/load_file_test.c
@@ -38,9 +38,9 @@
 #include <grpc/support/log.h>
 #include <grpc/support/slice.h>
 
-#include "src/core/support/load_file.h"
-#include "src/core/support/string.h"
-#include "src/core/support/tmpfile.h"
+#include "src/core/lib/support/load_file.h"
+#include "src/core/lib/support/string.h"
+#include "src/core/lib/support/tmpfile.h"
 #include "test/core/util/test_config.h"
 
 #define LOG_TEST_NAME(x) gpr_log(GPR_INFO, "%s", x)
diff --git a/test/core/support/murmur_hash_test.c b/test/core/support/murmur_hash_test.c
index 562b956..c93efb4 100644
--- a/test/core/support/murmur_hash_test.c
+++ b/test/core/support/murmur_hash_test.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/support/murmur_hash.h"
+#include "src/core/lib/support/murmur_hash.h"
 #include <grpc/support/log.h>
 #include <grpc/support/string_util.h>
 #include "test/core/util/test_config.h"
diff --git a/test/core/support/stack_lockfree_test.c b/test/core/support/stack_lockfree_test.c
index 0f49e6f..13c8f3c 100644
--- a/test/core/support/stack_lockfree_test.c
+++ b/test/core/support/stack_lockfree_test.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/support/stack_lockfree.h"
+#include "src/core/lib/support/stack_lockfree.h"
 
 #include <stdlib.h>
 
diff --git a/test/core/support/string_test.c b/test/core/support/string_test.c
index c1d0f12..e5e474d 100644
--- a/test/core/support/string_test.c
+++ b/test/core/support/string_test.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/support/string.h"
+#include "src/core/lib/support/string.h"
 
 #include <limits.h>
 #include <stddef.h>
diff --git a/test/core/surface/byte_buffer_reader_test.c b/test/core/surface/byte_buffer_reader_test.c
index c8aacdb..629bce9 100644
--- a/test/core/surface/byte_buffer_reader_test.c
+++ b/test/core/surface/byte_buffer_reader_test.c
@@ -42,7 +42,7 @@
 #include <grpc/support/time.h>
 #include "test/core/util/test_config.h"
 
-#include "src/core/compression/message_compress.h"
+#include "src/core/lib/compression/message_compress.h"
 
 #include <string.h>
 
diff --git a/test/core/surface/channel_create_test.c b/test/core/surface/channel_create_test.c
index 044e766..d5d7d1c 100644
--- a/test/core/surface/channel_create_test.c
+++ b/test/core/surface/channel_create_test.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -33,7 +33,7 @@
 
 #include <grpc/grpc.h>
 #include <grpc/support/log.h>
-#include "src/core/client_config/resolver_registry.h"
+#include "src/core/lib/client_config/resolver_registry.h"
 #include "test/core/util/test_config.h"
 
 void test_unknown_scheme_target(void) {
diff --git a/test/core/surface/completion_queue_test.c b/test/core/surface/completion_queue_test.c
index 4f534de..fa9b363 100644
--- a/test/core/surface/completion_queue_test.c
+++ b/test/core/surface/completion_queue_test.c
@@ -31,14 +31,14 @@
  *
  */
 
-#include "src/core/surface/completion_queue.h"
+#include "src/core/lib/surface/completion_queue.h"
 
 #include <grpc/support/alloc.h>
 #include <grpc/support/log.h>
 #include <grpc/support/thd.h>
 #include <grpc/support/time.h>
 #include <grpc/support/useful.h>
-#include "src/core/iomgr/iomgr.h"
+#include "src/core/lib/iomgr/iomgr.h"
 #include "test/core/util/test_config.h"
 
 #define LOG_TEST(x) gpr_log(GPR_INFO, "%s", x)
diff --git a/test/core/surface/lame_client_test.c b/test/core/surface/lame_client_test.c
index 79e53cb..310aa00 100644
--- a/test/core/surface/lame_client_test.c
+++ b/test/core/surface/lame_client_test.c
@@ -36,10 +36,10 @@
 #include <grpc/grpc.h>
 #include <grpc/support/alloc.h>
 #include <grpc/support/log.h>
-#include "src/core/channel/channel_stack.h"
-#include "src/core/iomgr/closure.h"
-#include "src/core/surface/channel.h"
-#include "src/core/transport/transport.h"
+#include "src/core/lib/channel/channel_stack.h"
+#include "src/core/lib/iomgr/closure.h"
+#include "src/core/lib/surface/channel.h"
+#include "src/core/lib/transport/transport.h"
 #include "test/core/end2end/cq_verifier.h"
 #include "test/core/util/test_config.h"
 
diff --git a/test/core/surface/secure_channel_create_test.c b/test/core/surface/secure_channel_create_test.c
index f3e5fef..5c95390 100644
--- a/test/core/surface/secure_channel_create_test.c
+++ b/test/core/surface/secure_channel_create_test.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -36,10 +36,10 @@
 #include <grpc/grpc.h>
 #include <grpc/grpc_security.h>
 #include <grpc/support/log.h>
-#include "src/core/client_config/resolver_registry.h"
-#include "src/core/security/credentials.h"
-#include "src/core/security/security_connector.h"
-#include "src/core/surface/channel.h"
+#include "src/core/lib/client_config/resolver_registry.h"
+#include "src/core/lib/security/credentials.h"
+#include "src/core/lib/security/security_connector.h"
+#include "src/core/lib/surface/channel.h"
 #include "test/core/util/test_config.h"
 
 void test_unknown_scheme_target(void) {
diff --git a/test/core/surface/server_chttp2_test.c b/test/core/surface/server_chttp2_test.c
index 84b345b..14eb1ff 100644
--- a/test/core/surface/server_chttp2_test.c
+++ b/test/core/surface/server_chttp2_test.c
@@ -37,8 +37,8 @@
 #include <grpc/support/host_port.h>
 #include <grpc/support/log.h>
 #include <grpc/support/time.h>
-#include "src/core/security/credentials.h"
-#include "src/core/tsi/fake_transport_security.h"
+#include "src/core/lib/security/credentials.h"
+#include "src/core/lib/tsi/fake_transport_security.h"
 #include "test/core/util/port.h"
 #include "test/core/util/test_config.h"
 
diff --git a/test/core/transport/chttp2/alpn_test.c b/test/core/transport/chttp2/alpn_test.c
index 9a7d5ef..a3c8a9a 100644
--- a/test/core/transport/chttp2/alpn_test.c
+++ b/test/core/transport/chttp2/alpn_test.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/transport/chttp2/alpn.h"
+#include "src/core/lib/transport/chttp2/alpn.h"
 
 #include <grpc/support/log.h>
 #include "test/core/util/test_config.h"
diff --git a/test/core/transport/chttp2/bin_encoder_test.c b/test/core/transport/chttp2/bin_encoder_test.c
index 815b03c..fd798d8 100644
--- a/test/core/transport/chttp2/bin_encoder_test.c
+++ b/test/core/transport/chttp2/bin_encoder_test.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/transport/chttp2/bin_encoder.h"
+#include "src/core/lib/transport/chttp2/bin_encoder.h"
 
 #include <string.h>
 
@@ -41,7 +41,7 @@
 #include <grpc/grpc.h>
 #include <grpc/support/alloc.h>
 #include <grpc/support/log.h>
-#include "src/core/support/string.h"
+#include "src/core/lib/support/string.h"
 
 static int all_ok = 1;
 
diff --git a/test/core/transport/chttp2/hpack_encoder_test.c b/test/core/transport/chttp2/hpack_encoder_test.c
index f5de087..b23e999 100644
--- a/test/core/transport/chttp2/hpack_encoder_test.c
+++ b/test/core/transport/chttp2/hpack_encoder_test.c
@@ -31,16 +31,16 @@
  *
  */
 
-#include "src/core/transport/chttp2/hpack_encoder.h"
+#include "src/core/lib/transport/chttp2/hpack_encoder.h"
 
 #include <stdio.h>
 
 #include <grpc/support/alloc.h>
 #include <grpc/support/log.h>
 #include <grpc/support/string_util.h>
-#include "src/core/support/string.h"
-#include "src/core/transport/chttp2/hpack_parser.h"
-#include "src/core/transport/metadata.h"
+#include "src/core/lib/support/string.h"
+#include "src/core/lib/transport/chttp2/hpack_parser.h"
+#include "src/core/lib/transport/metadata.h"
 #include "test/core/util/parse_hexstring.h"
 #include "test/core/util/slice_splitter.h"
 #include "test/core/util/test_config.h"
diff --git a/test/core/transport/chttp2/hpack_parser_test.c b/test/core/transport/chttp2/hpack_parser_test.c
index 4456e19..e716d38 100644
--- a/test/core/transport/chttp2/hpack_parser_test.c
+++ b/test/core/transport/chttp2/hpack_parser_test.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/transport/chttp2/hpack_parser.h"
+#include "src/core/lib/transport/chttp2/hpack_parser.h"
 
 #include <stdarg.h>
 
diff --git a/test/core/transport/chttp2/hpack_table_test.c b/test/core/transport/chttp2/hpack_table_test.c
index 4c0fa2e..fbacdc3 100644
--- a/test/core/transport/chttp2/hpack_table_test.c
+++ b/test/core/transport/chttp2/hpack_table_test.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/transport/chttp2/hpack_table.h"
+#include "src/core/lib/transport/chttp2/hpack_table.h"
 
 #include <stdio.h>
 #include <string.h>
@@ -41,7 +41,7 @@
 #include <grpc/support/log.h>
 #include <grpc/support/string_util.h>
 
-#include "src/core/support/string.h"
+#include "src/core/lib/support/string.h"
 #include "test/core/util/test_config.h"
 
 #define LOG_TEST(x) gpr_log(GPR_INFO, "%s", x)
diff --git a/test/core/transport/chttp2/status_conversion_test.c b/test/core/transport/chttp2/status_conversion_test.c
index e2729a0..f2770e5 100644
--- a/test/core/transport/chttp2/status_conversion_test.c
+++ b/test/core/transport/chttp2/status_conversion_test.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/transport/chttp2/status_conversion.h"
+#include "src/core/lib/transport/chttp2/status_conversion.h"
 #include <grpc/support/log.h>
 #include "test/core/util/test_config.h"
 
diff --git a/test/core/transport/chttp2/stream_map_test.c b/test/core/transport/chttp2/stream_map_test.c
index 527d2fe..baeac17 100644
--- a/test/core/transport/chttp2/stream_map_test.c
+++ b/test/core/transport/chttp2/stream_map_test.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/transport/chttp2/stream_map.h"
+#include "src/core/lib/transport/chttp2/stream_map.h"
 #include <grpc/support/log.h>
 #include "test/core/util/test_config.h"
 
diff --git a/test/core/transport/chttp2/timeout_encoding_test.c b/test/core/transport/chttp2/timeout_encoding_test.c
index b7dd60e..9a91a1443 100644
--- a/test/core/transport/chttp2/timeout_encoding_test.c
+++ b/test/core/transport/chttp2/timeout_encoding_test.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/transport/chttp2/timeout_encoding.h"
+#include "src/core/lib/transport/chttp2/timeout_encoding.h"
 
 #include <stdio.h>
 #include <string.h>
@@ -40,7 +40,7 @@
 #include <grpc/support/log.h>
 #include <grpc/support/string_util.h>
 #include <grpc/support/useful.h>
-#include "src/core/support/string.h"
+#include "src/core/lib/support/string.h"
 #include "test/core/util/test_config.h"
 
 #define LOG_TEST(x) gpr_log(GPR_INFO, "%s", x)
diff --git a/test/core/transport/chttp2/varint_test.c b/test/core/transport/chttp2/varint_test.c
index f06116a..960c953 100644
--- a/test/core/transport/chttp2/varint_test.c
+++ b/test/core/transport/chttp2/varint_test.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/transport/chttp2/varint.h"
+#include "src/core/lib/transport/chttp2/varint.h"
 
 #include <grpc/support/log.h>
 #include <grpc/support/slice.h>
diff --git a/test/core/transport/connectivity_state_test.c b/test/core/transport/connectivity_state_test.c
index 4b2d0aa..b310d4d 100644
--- a/test/core/transport/connectivity_state_test.c
+++ b/test/core/transport/connectivity_state_test.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/transport/connectivity_state.h"
+#include "src/core/lib/transport/connectivity_state.h"
 
 #include <string.h>
 
diff --git a/test/core/transport/metadata_test.c b/test/core/transport/metadata_test.c
index 928fba7..30e3113 100644
--- a/test/core/transport/metadata_test.c
+++ b/test/core/transport/metadata_test.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/transport/metadata.h"
+#include "src/core/lib/transport/metadata.h"
 
 #include <stdio.h>
 
@@ -40,8 +40,8 @@
 #include <grpc/support/log.h>
 #include <grpc/support/string_util.h>
 
-#include "src/core/support/string.h"
-#include "src/core/transport/chttp2/bin_encoder.h"
+#include "src/core/lib/support/string.h"
+#include "src/core/lib/transport/chttp2/bin_encoder.h"
 #include "test/core/util/test_config.h"
 
 #define LOG_TEST(x) gpr_log(GPR_INFO, "%s", x)
diff --git a/test/core/tsi/transport_security_test.c b/test/core/tsi/transport_security_test.c
index 667d3f0..49b5b8b 100644
--- a/test/core/tsi/transport_security_test.c
+++ b/test/core/tsi/transport_security_test.c
@@ -31,7 +31,7 @@
  *
  */
 
-#include "src/core/tsi/transport_security.h"
+#include "src/core/lib/tsi/transport_security.h"
 
 #include <string.h>
 
@@ -42,9 +42,9 @@
 
 #include <openssl/crypto.h>
 
-#include "src/core/support/string.h"
-#include "src/core/tsi/fake_transport_security.h"
-#include "src/core/tsi/ssl_transport_security.h"
+#include "src/core/lib/support/string.h"
+#include "src/core/lib/tsi/fake_transport_security.h"
+#include "src/core/lib/tsi/ssl_transport_security.h"
 #include "test/core/util/test_config.h"
 
 typedef struct {
diff --git a/test/core/util/port_posix.c b/test/core/util/port_posix.c
index d211016..fea7e52 100644
--- a/test/core/util/port_posix.c
+++ b/test/core/util/port_posix.c
@@ -49,8 +49,8 @@
 #include <grpc/support/log.h>
 #include <grpc/support/string_util.h>
 
-#include "src/core/http/httpcli.h"
-#include "src/core/support/env.h"
+#include "src/core/lib/http/httpcli.h"
+#include "src/core/lib/support/env.h"
 #include "test/core/util/port_server_client.h"
 
 #define NUM_RANDOM_PORTS_TO_PICK 100
diff --git a/test/core/util/port_server_client.c b/test/core/util/port_server_client.c
index c7b9d63..ea01b46 100644
--- a/test/core/util/port_server_client.c
+++ b/test/core/util/port_server_client.c
@@ -47,7 +47,7 @@
 #include <grpc/support/sync.h>
 #include <grpc/support/time.h>
 
-#include "src/core/http/httpcli.h"
+#include "src/core/lib/http/httpcli.h"
 
 typedef struct freereq {
   gpr_mu *mu;
diff --git a/test/core/util/port_windows.c b/test/core/util/port_windows.c
index 4cbedc0..081782d 100644
--- a/test/core/util/port_windows.c
+++ b/test/core/util/port_windows.c
@@ -46,9 +46,9 @@
 #include <grpc/support/alloc.h>
 #include <grpc/support/log.h>
 
-#include "src/core/http/httpcli.h"
-#include "src/core/iomgr/sockaddr_utils.h"
-#include "src/core/support/env.h"
+#include "src/core/lib/http/httpcli.h"
+#include "src/core/lib/iomgr/sockaddr_utils.h"
+#include "src/core/lib/support/env.h"
 #include "test/core/util/port_server_client.h"
 
 #define NUM_RANDOM_PORTS_TO_PICK 100
diff --git a/test/core/util/reconnect_server.c b/test/core/util/reconnect_server.c
index 57225aa..0e7a486 100644
--- a/test/core/util/reconnect_server.c
+++ b/test/core/util/reconnect_server.c
@@ -40,9 +40,9 @@
 #include <grpc/support/sync.h>
 #include <grpc/support/time.h>
 #include <string.h>
-#include "src/core/iomgr/endpoint.h"
-#include "src/core/iomgr/sockaddr.h"
-#include "src/core/iomgr/tcp_server.h"
+#include "src/core/lib/iomgr/endpoint.h"
+#include "src/core/lib/iomgr/sockaddr.h"
+#include "src/core/lib/iomgr/tcp_server.h"
 #include "test/core/util/port.h"
 #include "test/core/util/test_tcp_server.h"
 
diff --git a/test/core/util/test_config.c b/test/core/util/test_config.c
index f408048..7ffaa6f 100644
--- a/test/core/util/test_config.c
+++ b/test/core/util/test_config.c
@@ -39,7 +39,7 @@
 #include <stdbool.h>
 #include <stdio.h>
 #include <stdlib.h>
-#include "src/core/support/string.h"
+#include "src/core/lib/support/string.h"
 
 double g_fixture_slowdown_factor = 1.0;
 
diff --git a/test/core/util/test_tcp_server.c b/test/core/util/test_tcp_server.c
index ab37944..7703ec0 100644
--- a/test/core/util/test_tcp_server.c
+++ b/test/core/util/test_tcp_server.c
@@ -40,9 +40,9 @@
 #include <grpc/support/sync.h>
 #include <grpc/support/time.h>
 #include <string.h>
-#include "src/core/iomgr/endpoint.h"
-#include "src/core/iomgr/sockaddr.h"
-#include "src/core/iomgr/tcp_server.h"
+#include "src/core/lib/iomgr/endpoint.h"
+#include "src/core/lib/iomgr/sockaddr.h"
+#include "src/core/lib/iomgr/tcp_server.h"
 #include "test/core/util/port.h"
 
 static void on_server_destroyed(grpc_exec_ctx *exec_ctx, void *data,
diff --git a/test/core/util/test_tcp_server.h b/test/core/util/test_tcp_server.h
index 15fcb4f..7d1025f 100644
--- a/test/core/util/test_tcp_server.h
+++ b/test/core/util/test_tcp_server.h
@@ -35,7 +35,7 @@
 #define GRPC_TEST_CORE_UTIL_TEST_TCP_SERVER_H
 
 #include <grpc/support/sync.h>
-#include "src/core/iomgr/tcp_server.h"
+#include "src/core/lib/iomgr/tcp_server.h"
 
 typedef struct test_tcp_server {
   grpc_tcp_server *tcp_server;
diff --git a/test/cpp/common/auth_property_iterator_test.cc b/test/cpp/common/auth_property_iterator_test.cc
index 4c6dd60..4b5cf02 100644
--- a/test/cpp/common/auth_property_iterator_test.cc
+++ b/test/cpp/common/auth_property_iterator_test.cc
@@ -38,7 +38,7 @@
 #include "test/cpp/util/string_ref_helper.h"
 
 extern "C" {
-#include "src/core/security/security_context.h"
+#include "src/core/lib/security/security_context.h"
 }
 
 using ::grpc::testing::ToString;
diff --git a/test/cpp/common/secure_auth_context_test.cc b/test/cpp/common/secure_auth_context_test.cc
index 123d494..c421910 100644
--- a/test/cpp/common/secure_auth_context_test.cc
+++ b/test/cpp/common/secure_auth_context_test.cc
@@ -38,7 +38,7 @@
 #include "test/cpp/util/string_ref_helper.h"
 
 extern "C" {
-#include "src/core/security/security_context.h"
+#include "src/core/lib/security/security_context.h"
 }
 
 using grpc::testing::ToString;
diff --git a/test/cpp/end2end/async_end2end_test.cc b/test/cpp/end2end/async_end2end_test.cc
index dc8c2bb..d8aa4c0 100644
--- a/test/cpp/end2end/async_end2end_test.cc
+++ b/test/cpp/end2end/async_end2end_test.cc
@@ -53,7 +53,7 @@
 #include "test/cpp/util/string_ref_helper.h"
 
 #ifdef GPR_POSIX_SOCKET
-#include "src/core/iomgr/pollset_posix.h"
+#include "src/core/lib/iomgr/pollset_posix.h"
 #endif
 
 using grpc::testing::EchoRequest;
diff --git a/test/cpp/end2end/end2end_test.cc b/test/cpp/end2end/end2end_test.cc
index 4759818..ff388c0 100644
--- a/test/cpp/end2end/end2end_test.cc
+++ b/test/cpp/end2end/end2end_test.cc
@@ -48,7 +48,7 @@
 #include <grpc/support/time.h>
 #include <gtest/gtest.h>
 
-#include "src/core/security/credentials.h"
+#include "src/core/lib/security/credentials.h"
 #include "src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.h"
 #include "src/proto/grpc/testing/echo.grpc.pb.h"
 #include "test/core/util/port.h"
diff --git a/test/cpp/end2end/shutdown_test.cc b/test/cpp/end2end/shutdown_test.cc
index dbbda3a..62bb6b1 100644
--- a/test/cpp/end2end/shutdown_test.cc
+++ b/test/cpp/end2end/shutdown_test.cc
@@ -43,7 +43,7 @@
 #include <grpc/support/sync.h>
 #include <gtest/gtest.h>
 
-#include "src/core/support/env.h"
+#include "src/core/lib/support/env.h"
 #include "src/proto/grpc/testing/echo.grpc.pb.h"
 #include "test/core/util/port.h"
 #include "test/core/util/test_config.h"
diff --git a/test/cpp/end2end/thread_stress_test.cc b/test/cpp/end2end/thread_stress_test.cc
index 114d715..8760b8d 100644
--- a/test/cpp/end2end/thread_stress_test.cc
+++ b/test/cpp/end2end/thread_stress_test.cc
@@ -45,7 +45,7 @@
 #include <grpc/support/time.h>
 #include <gtest/gtest.h>
 
-#include "src/core/surface/api_trace.h"
+#include "src/core/lib/surface/api_trace.h"
 #include "src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.h"
 #include "src/proto/grpc/testing/echo.grpc.pb.h"
 #include "test/core/util/port.h"
diff --git a/test/cpp/end2end/zookeeper_test.cc b/test/cpp/end2end/zookeeper_test.cc
index bbf1b0e..f1b6ac2 100644
--- a/test/cpp/end2end/zookeeper_test.cc
+++ b/test/cpp/end2end/zookeeper_test.cc
@@ -42,7 +42,7 @@
 #include <gtest/gtest.h>
 #include <zookeeper/zookeeper.h>
 
-#include "src/core/support/env.h"
+#include "src/core/lib/support/env.h"
 #include "src/proto/grpc/testing/echo.grpc.pb.h"
 #include "test/core/util/port.h"
 #include "test/core/util/test_config.h"
diff --git a/test/cpp/grpclb/grpclb_api_test.cc b/test/cpp/grpclb/grpclb_api_test.cc
index bd4885f..bc8219c 100644
--- a/test/cpp/grpclb/grpclb_api_test.cc
+++ b/test/cpp/grpclb/grpclb_api_test.cc
@@ -34,7 +34,7 @@
 #include <gtest/gtest.h>
 #include <string>
 
-#include "src/core/client_config/lb_policies/load_balancer_api.h"
+#include "src/core/lib/client_config/lb_policies/load_balancer_api.h"
 #include "src/proto/grpc/lb/v0/load_balancer.pb.h"  // C++ version
 
 namespace grpc {
diff --git a/test/cpp/interop/client_helper.h b/test/cpp/interop/client_helper.h
index 0f77474..0790464 100644
--- a/test/cpp/interop/client_helper.h
+++ b/test/cpp/interop/client_helper.h
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -38,7 +38,7 @@
 
 #include <grpc++/channel.h>
 
-#include "src/core/surface/call_test_only.h"
+#include "src/core/lib/surface/call_test_only.h"
 
 namespace grpc {
 namespace testing {
diff --git a/test/cpp/interop/interop_client.cc b/test/cpp/interop/interop_client.cc
index 514d4fa..2fcd9f3 100644
--- a/test/cpp/interop/interop_client.cc
+++ b/test/cpp/interop/interop_client.cc
@@ -46,7 +46,7 @@
 #include <grpc/support/string_util.h>
 #include <grpc/support/useful.h>
 
-#include "src/core/transport/byte_stream.h"
+#include "src/core/lib/transport/byte_stream.h"
 #include "src/proto/grpc/testing/empty.grpc.pb.h"
 #include "src/proto/grpc/testing/messages.grpc.pb.h"
 #include "src/proto/grpc/testing/test.grpc.pb.h"
diff --git a/test/cpp/interop/interop_test.cc b/test/cpp/interop/interop_test.cc
index f0fccf4..f1fb3c9 100644
--- a/test/cpp/interop/interop_test.cc
+++ b/test/cpp/interop/interop_test.cc
@@ -51,8 +51,8 @@
 #include "test/core/util/port.h"
 
 extern "C" {
-#include "src/core/iomgr/socket_utils_posix.h"
-#include "src/core/support/string.h"
+#include "src/core/lib/iomgr/socket_utils_posix.h"
+#include "src/core/lib/support/string.h"
 }
 
 int test_client(const char* root, const char* host, int port) {
diff --git a/test/cpp/interop/server_helper.cc b/test/cpp/interop/server_helper.cc
index 9a28409..97c39c4 100644
--- a/test/cpp/interop/server_helper.cc
+++ b/test/cpp/interop/server_helper.cc
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -38,7 +38,7 @@
 #include <gflags/gflags.h>
 #include <grpc++/security/server_credentials.h>
 
-#include "src/core/surface/call_test_only.h"
+#include "src/core/lib/surface/call_test_only.h"
 #include "test/core/end2end/data/ssl_test_data.h"
 
 DECLARE_bool(use_tls);
diff --git a/test/cpp/qps/client_sync.cc b/test/cpp/qps/client_sync.cc
index 4284e07..a1489d8 100644
--- a/test/cpp/qps/client_sync.cc
+++ b/test/cpp/qps/client_sync.cc
@@ -53,7 +53,7 @@
 #include <grpc/support/time.h>
 #include <gtest/gtest.h>
 
-#include "src/core/profiling/timers.h"
+#include "src/core/lib/profiling/timers.h"
 #include "src/proto/grpc/testing/services.grpc.pb.h"
 #include "test/cpp/qps/client.h"
 #include "test/cpp/qps/histogram.h"
diff --git a/test/cpp/qps/driver.cc b/test/cpp/qps/driver.cc
index 6c05799..6cca7de 100644
--- a/test/cpp/qps/driver.cc
+++ b/test/cpp/qps/driver.cc
@@ -45,7 +45,7 @@
 #include <grpc/support/log.h>
 #include <gtest/gtest.h>
 
-#include "src/core/support/env.h"
+#include "src/core/lib/support/env.h"
 #include "src/proto/grpc/testing/services.grpc.pb.h"
 #include "test/core/util/port.h"
 #include "test/core/util/test_config.h"
diff --git a/test/cpp/qps/qps_test_with_poll.cc b/test/cpp/qps/qps_test_with_poll.cc
index 8340a63..647aaac 100644
--- a/test/cpp/qps/qps_test_with_poll.cc
+++ b/test/cpp/qps/qps_test_with_poll.cc
@@ -40,7 +40,7 @@
 #include "test/cpp/util/benchmark_config.h"
 
 extern "C" {
-#include "src/core/iomgr/pollset_posix.h"
+#include "src/core/lib/iomgr/pollset_posix.h"
 }
 
 namespace grpc {
diff --git a/tools/codegen/core/gen_hpack_tables.c b/tools/codegen/core/gen_hpack_tables.c
index bae4e4c..d809bd3 100644
--- a/tools/codegen/core/gen_hpack_tables.c
+++ b/tools/codegen/core/gen_hpack_tables.c
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright 2015, Google Inc.
+ * Copyright 2015-2016, Google Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -33,13 +33,13 @@
 
 /* generates constant tables for hpack.c */
 
+#include <assert.h>
 #include <stddef.h>
 #include <stdio.h>
 #include <string.h>
-#include <assert.h>
 
 #include <grpc/support/log.h>
-#include "src/core/transport/chttp2/huffsyms.h"
+#include "src/core/lib/transport/chttp2/huffsyms.h"
 
 /*
  * first byte LUT generation
diff --git a/tools/codegen/core/gen_load_balancing_proto.sh b/tools/codegen/core/gen_load_balancing_proto.sh
index fb6a468..6a5363e 100755
--- a/tools/codegen/core/gen_load_balancing_proto.sh
+++ b/tools/codegen/core/gen_load_balancing_proto.sh
@@ -82,7 +82,7 @@
 
 readonly GRPC_ROOT=$PWD
 
-OUTPUT_DIR="$GRPC_ROOT/src/core/proto/grpc/lb/v0"
+OUTPUT_DIR="$GRPC_ROOT/src/core/lib/proto/grpc/lb/v0"
 if [ $# -eq 2 ]; then
   mkdir -p "$2"
   if [ $? != 0 ]; then
@@ -122,7 +122,7 @@
 "$(basename $1)"
 
 readonly PROTO_BASENAME=$(basename $1 .proto)
-sed -i "s:$PROTO_BASENAME.pb.h:src/core/proto/grpc/lb/v0/$PROTO_BASENAME.pb.h:g" \
+sed -i "s:$PROTO_BASENAME.pb.h:src/core/lib/proto/grpc/lb/v0/$PROTO_BASENAME.pb.h:g" \
     "$OUTPUT_DIR/$PROTO_BASENAME.pb.c"
 
 # prepend copyright
diff --git a/tools/codegen/core/gen_static_metadata.py b/tools/codegen/core/gen_static_metadata.py
index 593baec..70d4141 100755
--- a/tools/codegen/core/gen_static_metadata.py
+++ b/tools/codegen/core/gen_static_metadata.py
@@ -215,9 +215,9 @@
     C = open('/dev/null', 'w')
 else:
   H = open(os.path.join(
-      os.path.dirname(sys.argv[0]), '../../../src/core/transport/static_metadata.h'), 'w')
+      os.path.dirname(sys.argv[0]), '../../../src/core/lib/transport/static_metadata.h'), 'w')
   C = open(os.path.join(
-      os.path.dirname(sys.argv[0]), '../../../src/core/transport/static_metadata.c'), 'w')
+      os.path.dirname(sys.argv[0]), '../../../src/core/lib/transport/static_metadata.c'), 'w')
 
 # copy-paste copyright notice from this file
 with open(sys.argv[0]) as my_source:
@@ -247,10 +247,10 @@
 print >>H, '#ifndef GRPC_INTERNAL_CORE_TRANSPORT_STATIC_METADATA_H'
 print >>H, '#define GRPC_INTERNAL_CORE_TRANSPORT_STATIC_METADATA_H'
 print >>H
-print >>H, '#include "src/core/transport/metadata.h"'
+print >>H, '#include "src/core/lib/transport/metadata.h"'
 print >>H
 
-print >>C, '#include "src/core/transport/static_metadata.h"'
+print >>C, '#include "src/core/lib/transport/static_metadata.h"'
 print >>C
 
 print >>H, '#define GRPC_STATIC_MDSTR_COUNT %d' % len(all_strs)
@@ -309,4 +309,3 @@
 
 H.close()
 C.close()
-
diff --git a/tools/distrib/check_include_guards.py b/tools/distrib/check_include_guards.py
index 977f40e..463e316 100755
--- a/tools/distrib/check_include_guards.py
+++ b/tools/distrib/check_include_guards.py
@@ -167,7 +167,7 @@
 args = argp.parse_args()
 
 KNOWN_BAD = set([
-    'src/core/proto/grpc/lb/v0/load_balancer.pb.h',
+    'src/core/lib/proto/grpc/lb/v0/load_balancer.pb.h',
 ])
 
 
diff --git a/tools/distrib/check_nanopb_output.sh b/tools/distrib/check_nanopb_output.sh
index 51c4d75..e0a6094 100755
--- a/tools/distrib/check_nanopb_output.sh
+++ b/tools/distrib/check_nanopb_output.sh
@@ -60,7 +60,7 @@
   $NANOPB_TMP_OUTPUT
 
 # compare outputs to checked compiled code
-if ! diff -r $NANOPB_TMP_OUTPUT src/core/proto/grpc/lb/v0; then
-  echo "Outputs differ: $NANOPB_TMP_OUTPUT vs src/core/proto/grpc/lb/v0"
+if ! diff -r $NANOPB_TMP_OUTPUT src/core/lib/proto/grpc/lb/v0; then
+  echo "Outputs differ: $NANOPB_TMP_OUTPUT vs src/core/lib/proto/grpc/lb/v0"
   exit 2
 fi
diff --git a/tools/doxygen/Doxyfile.core.internal b/tools/doxygen/Doxyfile.core.internal
index 5044ed2..7f91115 100644
--- a/tools/doxygen/Doxyfile.core.internal
+++ b/tools/doxygen/Doxyfile.core.internal
@@ -773,308 +773,308 @@
 include/grpc/impl/codegen/propagation_bits.h \
 include/grpc/impl/codegen/status.h \
 include/grpc/census.h \
-src/core/census/grpc_filter.h \
-src/core/census/grpc_plugin.h \
-src/core/channel/channel_args.h \
-src/core/channel/channel_stack.h \
-src/core/channel/channel_stack_builder.h \
-src/core/channel/client_channel.h \
-src/core/channel/compress_filter.h \
-src/core/channel/connected_channel.h \
-src/core/channel/context.h \
-src/core/channel/http_client_filter.h \
-src/core/channel/http_server_filter.h \
-src/core/channel/subchannel_call_holder.h \
-src/core/client_config/client_config.h \
-src/core/client_config/connector.h \
-src/core/client_config/initial_connect_string.h \
-src/core/client_config/lb_policies/load_balancer_api.h \
-src/core/client_config/lb_policies/pick_first.h \
-src/core/client_config/lb_policies/round_robin.h \
-src/core/client_config/lb_policy.h \
-src/core/client_config/lb_policy_factory.h \
-src/core/client_config/lb_policy_registry.h \
-src/core/client_config/resolver.h \
-src/core/client_config/resolver_factory.h \
-src/core/client_config/resolver_registry.h \
-src/core/client_config/resolvers/dns_resolver.h \
-src/core/client_config/resolvers/sockaddr_resolver.h \
-src/core/client_config/subchannel.h \
-src/core/client_config/subchannel_factory.h \
-src/core/client_config/subchannel_index.h \
-src/core/client_config/uri_parser.h \
-src/core/compression/algorithm_metadata.h \
-src/core/compression/message_compress.h \
-src/core/debug/trace.h \
-src/core/http/format_request.h \
-src/core/http/httpcli.h \
-src/core/http/parser.h \
-src/core/iomgr/closure.h \
-src/core/iomgr/endpoint.h \
-src/core/iomgr/endpoint_pair.h \
-src/core/iomgr/exec_ctx.h \
-src/core/iomgr/executor.h \
-src/core/iomgr/fd_posix.h \
-src/core/iomgr/iocp_windows.h \
-src/core/iomgr/iomgr.h \
-src/core/iomgr/iomgr_internal.h \
-src/core/iomgr/iomgr_posix.h \
-src/core/iomgr/pollset.h \
-src/core/iomgr/pollset_posix.h \
-src/core/iomgr/pollset_set.h \
-src/core/iomgr/pollset_set_posix.h \
-src/core/iomgr/pollset_set_windows.h \
-src/core/iomgr/pollset_windows.h \
-src/core/iomgr/resolve_address.h \
-src/core/iomgr/sockaddr.h \
-src/core/iomgr/sockaddr_posix.h \
-src/core/iomgr/sockaddr_utils.h \
-src/core/iomgr/sockaddr_win32.h \
-src/core/iomgr/socket_utils_posix.h \
-src/core/iomgr/socket_windows.h \
-src/core/iomgr/tcp_client.h \
-src/core/iomgr/tcp_posix.h \
-src/core/iomgr/tcp_server.h \
-src/core/iomgr/tcp_windows.h \
-src/core/iomgr/time_averaged_stats.h \
-src/core/iomgr/timer.h \
-src/core/iomgr/timer_heap.h \
-src/core/iomgr/udp_server.h \
-src/core/iomgr/unix_sockets_posix.h \
-src/core/iomgr/wakeup_fd_pipe.h \
-src/core/iomgr/wakeup_fd_posix.h \
-src/core/iomgr/workqueue.h \
-src/core/iomgr/workqueue_posix.h \
-src/core/iomgr/workqueue_windows.h \
-src/core/json/json.h \
-src/core/json/json_common.h \
-src/core/json/json_reader.h \
-src/core/json/json_writer.h \
-src/core/proto/grpc/lb/v0/load_balancer.pb.h \
-src/core/statistics/census_interface.h \
-src/core/statistics/census_rpc_stats.h \
-src/core/surface/api_trace.h \
-src/core/surface/call.h \
-src/core/surface/call_test_only.h \
-src/core/surface/channel.h \
-src/core/surface/channel_init.h \
-src/core/surface/channel_stack_type.h \
-src/core/surface/completion_queue.h \
-src/core/surface/event_string.h \
-src/core/surface/init.h \
-src/core/surface/lame_client.h \
-src/core/surface/server.h \
-src/core/surface/surface_trace.h \
-src/core/transport/byte_stream.h \
-src/core/transport/chttp2/alpn.h \
-src/core/transport/chttp2/bin_encoder.h \
-src/core/transport/chttp2/frame.h \
-src/core/transport/chttp2/frame_data.h \
-src/core/transport/chttp2/frame_goaway.h \
-src/core/transport/chttp2/frame_ping.h \
-src/core/transport/chttp2/frame_rst_stream.h \
-src/core/transport/chttp2/frame_settings.h \
-src/core/transport/chttp2/frame_window_update.h \
-src/core/transport/chttp2/hpack_encoder.h \
-src/core/transport/chttp2/hpack_parser.h \
-src/core/transport/chttp2/hpack_table.h \
-src/core/transport/chttp2/http2_errors.h \
-src/core/transport/chttp2/huffsyms.h \
-src/core/transport/chttp2/incoming_metadata.h \
-src/core/transport/chttp2/internal.h \
-src/core/transport/chttp2/status_conversion.h \
-src/core/transport/chttp2/stream_map.h \
-src/core/transport/chttp2/timeout_encoding.h \
-src/core/transport/chttp2/varint.h \
-src/core/transport/chttp2_transport.h \
-src/core/transport/connectivity_state.h \
-src/core/transport/metadata.h \
-src/core/transport/metadata_batch.h \
-src/core/transport/static_metadata.h \
-src/core/transport/transport.h \
-src/core/transport/transport_impl.h \
-src/core/security/auth_filters.h \
-src/core/security/b64.h \
-src/core/security/credentials.h \
-src/core/security/handshake.h \
-src/core/security/json_token.h \
-src/core/security/jwt_verifier.h \
-src/core/security/secure_endpoint.h \
-src/core/security/security_connector.h \
-src/core/security/security_context.h \
-src/core/tsi/fake_transport_security.h \
-src/core/tsi/ssl_transport_security.h \
-src/core/tsi/ssl_types.h \
-src/core/tsi/transport_security.h \
-src/core/tsi/transport_security_interface.h \
-src/core/census/aggregation.h \
-src/core/census/mlog.h \
-src/core/census/rpc_metric_id.h \
+src/core/lib/census/grpc_filter.h \
+src/core/lib/census/grpc_plugin.h \
+src/core/lib/channel/channel_args.h \
+src/core/lib/channel/channel_stack.h \
+src/core/lib/channel/channel_stack_builder.h \
+src/core/lib/channel/client_channel.h \
+src/core/lib/channel/compress_filter.h \
+src/core/lib/channel/connected_channel.h \
+src/core/lib/channel/context.h \
+src/core/lib/channel/http_client_filter.h \
+src/core/lib/channel/http_server_filter.h \
+src/core/lib/channel/subchannel_call_holder.h \
+src/core/lib/client_config/client_config.h \
+src/core/lib/client_config/connector.h \
+src/core/lib/client_config/initial_connect_string.h \
+src/core/lib/client_config/lb_policies/load_balancer_api.h \
+src/core/lib/client_config/lb_policies/pick_first.h \
+src/core/lib/client_config/lb_policies/round_robin.h \
+src/core/lib/client_config/lb_policy.h \
+src/core/lib/client_config/lb_policy_factory.h \
+src/core/lib/client_config/lb_policy_registry.h \
+src/core/lib/client_config/resolver.h \
+src/core/lib/client_config/resolver_factory.h \
+src/core/lib/client_config/resolver_registry.h \
+src/core/lib/client_config/resolvers/dns_resolver.h \
+src/core/lib/client_config/resolvers/sockaddr_resolver.h \
+src/core/lib/client_config/subchannel.h \
+src/core/lib/client_config/subchannel_factory.h \
+src/core/lib/client_config/subchannel_index.h \
+src/core/lib/client_config/uri_parser.h \
+src/core/lib/compression/algorithm_metadata.h \
+src/core/lib/compression/message_compress.h \
+src/core/lib/debug/trace.h \
+src/core/lib/http/format_request.h \
+src/core/lib/http/httpcli.h \
+src/core/lib/http/parser.h \
+src/core/lib/iomgr/closure.h \
+src/core/lib/iomgr/endpoint.h \
+src/core/lib/iomgr/endpoint_pair.h \
+src/core/lib/iomgr/exec_ctx.h \
+src/core/lib/iomgr/executor.h \
+src/core/lib/iomgr/fd_posix.h \
+src/core/lib/iomgr/iocp_windows.h \
+src/core/lib/iomgr/iomgr.h \
+src/core/lib/iomgr/iomgr_internal.h \
+src/core/lib/iomgr/iomgr_posix.h \
+src/core/lib/iomgr/pollset.h \
+src/core/lib/iomgr/pollset_posix.h \
+src/core/lib/iomgr/pollset_set.h \
+src/core/lib/iomgr/pollset_set_posix.h \
+src/core/lib/iomgr/pollset_set_windows.h \
+src/core/lib/iomgr/pollset_windows.h \
+src/core/lib/iomgr/resolve_address.h \
+src/core/lib/iomgr/sockaddr.h \
+src/core/lib/iomgr/sockaddr_posix.h \
+src/core/lib/iomgr/sockaddr_utils.h \
+src/core/lib/iomgr/sockaddr_win32.h \
+src/core/lib/iomgr/socket_utils_posix.h \
+src/core/lib/iomgr/socket_windows.h \
+src/core/lib/iomgr/tcp_client.h \
+src/core/lib/iomgr/tcp_posix.h \
+src/core/lib/iomgr/tcp_server.h \
+src/core/lib/iomgr/tcp_windows.h \
+src/core/lib/iomgr/time_averaged_stats.h \
+src/core/lib/iomgr/timer.h \
+src/core/lib/iomgr/timer_heap.h \
+src/core/lib/iomgr/udp_server.h \
+src/core/lib/iomgr/unix_sockets_posix.h \
+src/core/lib/iomgr/wakeup_fd_pipe.h \
+src/core/lib/iomgr/wakeup_fd_posix.h \
+src/core/lib/iomgr/workqueue.h \
+src/core/lib/iomgr/workqueue_posix.h \
+src/core/lib/iomgr/workqueue_windows.h \
+src/core/lib/json/json.h \
+src/core/lib/json/json_common.h \
+src/core/lib/json/json_reader.h \
+src/core/lib/json/json_writer.h \
+src/core/lib/proto/grpc/lb/v0/load_balancer.pb.h \
+src/core/lib/statistics/census_interface.h \
+src/core/lib/statistics/census_rpc_stats.h \
+src/core/lib/surface/api_trace.h \
+src/core/lib/surface/call.h \
+src/core/lib/surface/call_test_only.h \
+src/core/lib/surface/channel.h \
+src/core/lib/surface/channel_init.h \
+src/core/lib/surface/channel_stack_type.h \
+src/core/lib/surface/completion_queue.h \
+src/core/lib/surface/event_string.h \
+src/core/lib/surface/init.h \
+src/core/lib/surface/lame_client.h \
+src/core/lib/surface/server.h \
+src/core/lib/surface/surface_trace.h \
+src/core/lib/transport/byte_stream.h \
+src/core/lib/transport/chttp2/alpn.h \
+src/core/lib/transport/chttp2/bin_encoder.h \
+src/core/lib/transport/chttp2/frame.h \
+src/core/lib/transport/chttp2/frame_data.h \
+src/core/lib/transport/chttp2/frame_goaway.h \
+src/core/lib/transport/chttp2/frame_ping.h \
+src/core/lib/transport/chttp2/frame_rst_stream.h \
+src/core/lib/transport/chttp2/frame_settings.h \
+src/core/lib/transport/chttp2/frame_window_update.h \
+src/core/lib/transport/chttp2/hpack_encoder.h \
+src/core/lib/transport/chttp2/hpack_parser.h \
+src/core/lib/transport/chttp2/hpack_table.h \
+src/core/lib/transport/chttp2/http2_errors.h \
+src/core/lib/transport/chttp2/huffsyms.h \
+src/core/lib/transport/chttp2/incoming_metadata.h \
+src/core/lib/transport/chttp2/internal.h \
+src/core/lib/transport/chttp2/status_conversion.h \
+src/core/lib/transport/chttp2/stream_map.h \
+src/core/lib/transport/chttp2/timeout_encoding.h \
+src/core/lib/transport/chttp2/varint.h \
+src/core/lib/transport/chttp2_transport.h \
+src/core/lib/transport/connectivity_state.h \
+src/core/lib/transport/metadata.h \
+src/core/lib/transport/metadata_batch.h \
+src/core/lib/transport/static_metadata.h \
+src/core/lib/transport/transport.h \
+src/core/lib/transport/transport_impl.h \
+src/core/lib/security/auth_filters.h \
+src/core/lib/security/b64.h \
+src/core/lib/security/credentials.h \
+src/core/lib/security/handshake.h \
+src/core/lib/security/json_token.h \
+src/core/lib/security/jwt_verifier.h \
+src/core/lib/security/secure_endpoint.h \
+src/core/lib/security/security_connector.h \
+src/core/lib/security/security_context.h \
+src/core/lib/tsi/fake_transport_security.h \
+src/core/lib/tsi/ssl_transport_security.h \
+src/core/lib/tsi/ssl_types.h \
+src/core/lib/tsi/transport_security.h \
+src/core/lib/tsi/transport_security_interface.h \
+src/core/lib/census/aggregation.h \
+src/core/lib/census/mlog.h \
+src/core/lib/census/rpc_metric_id.h \
 third_party/nanopb/pb.h \
 third_party/nanopb/pb_common.h \
 third_party/nanopb/pb_decode.h \
 third_party/nanopb/pb_encode.h \
-src/core/census/grpc_context.c \
-src/core/census/grpc_filter.c \
-src/core/census/grpc_plugin.c \
-src/core/channel/channel_args.c \
-src/core/channel/channel_stack.c \
-src/core/channel/channel_stack_builder.c \
-src/core/channel/client_channel.c \
-src/core/channel/compress_filter.c \
-src/core/channel/connected_channel.c \
-src/core/channel/http_client_filter.c \
-src/core/channel/http_server_filter.c \
-src/core/channel/subchannel_call_holder.c \
-src/core/client_config/client_config.c \
-src/core/client_config/connector.c \
-src/core/client_config/default_initial_connect_string.c \
-src/core/client_config/initial_connect_string.c \
-src/core/client_config/lb_policies/load_balancer_api.c \
-src/core/client_config/lb_policies/pick_first.c \
-src/core/client_config/lb_policies/round_robin.c \
-src/core/client_config/lb_policy.c \
-src/core/client_config/lb_policy_factory.c \
-src/core/client_config/lb_policy_registry.c \
-src/core/client_config/resolver.c \
-src/core/client_config/resolver_factory.c \
-src/core/client_config/resolver_registry.c \
-src/core/client_config/resolvers/dns_resolver.c \
-src/core/client_config/resolvers/sockaddr_resolver.c \
-src/core/client_config/subchannel.c \
-src/core/client_config/subchannel_factory.c \
-src/core/client_config/subchannel_index.c \
-src/core/client_config/uri_parser.c \
-src/core/compression/compression_algorithm.c \
-src/core/compression/message_compress.c \
-src/core/debug/trace.c \
-src/core/http/format_request.c \
-src/core/http/httpcli.c \
-src/core/http/parser.c \
-src/core/iomgr/closure.c \
-src/core/iomgr/endpoint.c \
-src/core/iomgr/endpoint_pair_posix.c \
-src/core/iomgr/endpoint_pair_windows.c \
-src/core/iomgr/exec_ctx.c \
-src/core/iomgr/executor.c \
-src/core/iomgr/fd_posix.c \
-src/core/iomgr/iocp_windows.c \
-src/core/iomgr/iomgr.c \
-src/core/iomgr/iomgr_posix.c \
-src/core/iomgr/iomgr_windows.c \
-src/core/iomgr/pollset_multipoller_with_epoll.c \
-src/core/iomgr/pollset_multipoller_with_poll_posix.c \
-src/core/iomgr/pollset_posix.c \
-src/core/iomgr/pollset_set_posix.c \
-src/core/iomgr/pollset_set_windows.c \
-src/core/iomgr/pollset_windows.c \
-src/core/iomgr/resolve_address_posix.c \
-src/core/iomgr/resolve_address_windows.c \
-src/core/iomgr/sockaddr_utils.c \
-src/core/iomgr/socket_utils_common_posix.c \
-src/core/iomgr/socket_utils_linux.c \
-src/core/iomgr/socket_utils_posix.c \
-src/core/iomgr/socket_windows.c \
-src/core/iomgr/tcp_client_posix.c \
-src/core/iomgr/tcp_client_windows.c \
-src/core/iomgr/tcp_posix.c \
-src/core/iomgr/tcp_server_posix.c \
-src/core/iomgr/tcp_server_windows.c \
-src/core/iomgr/tcp_windows.c \
-src/core/iomgr/time_averaged_stats.c \
-src/core/iomgr/timer.c \
-src/core/iomgr/timer_heap.c \
-src/core/iomgr/udp_server.c \
-src/core/iomgr/unix_sockets_posix.c \
-src/core/iomgr/unix_sockets_posix_noop.c \
-src/core/iomgr/wakeup_fd_eventfd.c \
-src/core/iomgr/wakeup_fd_nospecial.c \
-src/core/iomgr/wakeup_fd_pipe.c \
-src/core/iomgr/wakeup_fd_posix.c \
-src/core/iomgr/workqueue_posix.c \
-src/core/iomgr/workqueue_windows.c \
-src/core/json/json.c \
-src/core/json/json_reader.c \
-src/core/json/json_string.c \
-src/core/json/json_writer.c \
-src/core/proto/grpc/lb/v0/load_balancer.pb.c \
-src/core/surface/alarm.c \
-src/core/surface/api_trace.c \
-src/core/surface/byte_buffer.c \
-src/core/surface/byte_buffer_reader.c \
-src/core/surface/call.c \
-src/core/surface/call_details.c \
-src/core/surface/call_log_batch.c \
-src/core/surface/channel.c \
-src/core/surface/channel_connectivity.c \
-src/core/surface/channel_create.c \
-src/core/surface/channel_init.c \
-src/core/surface/channel_ping.c \
-src/core/surface/channel_stack_type.c \
-src/core/surface/completion_queue.c \
-src/core/surface/event_string.c \
-src/core/surface/init.c \
-src/core/surface/lame_client.c \
-src/core/surface/metadata_array.c \
-src/core/surface/server.c \
-src/core/surface/server_chttp2.c \
-src/core/surface/validate_metadata.c \
-src/core/surface/version.c \
-src/core/transport/byte_stream.c \
-src/core/transport/chttp2/alpn.c \
-src/core/transport/chttp2/bin_encoder.c \
-src/core/transport/chttp2/frame_data.c \
-src/core/transport/chttp2/frame_goaway.c \
-src/core/transport/chttp2/frame_ping.c \
-src/core/transport/chttp2/frame_rst_stream.c \
-src/core/transport/chttp2/frame_settings.c \
-src/core/transport/chttp2/frame_window_update.c \
-src/core/transport/chttp2/hpack_encoder.c \
-src/core/transport/chttp2/hpack_parser.c \
-src/core/transport/chttp2/hpack_table.c \
-src/core/transport/chttp2/huffsyms.c \
-src/core/transport/chttp2/incoming_metadata.c \
-src/core/transport/chttp2/parsing.c \
-src/core/transport/chttp2/status_conversion.c \
-src/core/transport/chttp2/stream_lists.c \
-src/core/transport/chttp2/stream_map.c \
-src/core/transport/chttp2/timeout_encoding.c \
-src/core/transport/chttp2/varint.c \
-src/core/transport/chttp2/writing.c \
-src/core/transport/chttp2_transport.c \
-src/core/transport/connectivity_state.c \
-src/core/transport/metadata.c \
-src/core/transport/metadata_batch.c \
-src/core/transport/static_metadata.c \
-src/core/transport/transport.c \
-src/core/transport/transport_op_string.c \
-src/core/http/httpcli_security_connector.c \
-src/core/security/b64.c \
-src/core/security/client_auth_filter.c \
-src/core/security/credentials.c \
-src/core/security/credentials_metadata.c \
-src/core/security/credentials_posix.c \
-src/core/security/credentials_win32.c \
-src/core/security/google_default_credentials.c \
-src/core/security/handshake.c \
-src/core/security/json_token.c \
-src/core/security/jwt_verifier.c \
-src/core/security/secure_endpoint.c \
-src/core/security/security_connector.c \
-src/core/security/security_context.c \
-src/core/security/server_auth_filter.c \
-src/core/security/server_secure_chttp2.c \
-src/core/surface/init_secure.c \
-src/core/surface/secure_channel_create.c \
-src/core/tsi/fake_transport_security.c \
-src/core/tsi/ssl_transport_security.c \
-src/core/tsi/transport_security.c \
-src/core/census/context.c \
-src/core/census/initialize.c \
-src/core/census/mlog.c \
-src/core/census/operation.c \
-src/core/census/placeholders.c \
-src/core/census/tracing.c \
+src/core/lib/census/grpc_context.c \
+src/core/lib/census/grpc_filter.c \
+src/core/lib/census/grpc_plugin.c \
+src/core/lib/channel/channel_args.c \
+src/core/lib/channel/channel_stack.c \
+src/core/lib/channel/channel_stack_builder.c \
+src/core/lib/channel/client_channel.c \
+src/core/lib/channel/compress_filter.c \
+src/core/lib/channel/connected_channel.c \
+src/core/lib/channel/http_client_filter.c \
+src/core/lib/channel/http_server_filter.c \
+src/core/lib/channel/subchannel_call_holder.c \
+src/core/lib/client_config/client_config.c \
+src/core/lib/client_config/connector.c \
+src/core/lib/client_config/default_initial_connect_string.c \
+src/core/lib/client_config/initial_connect_string.c \
+src/core/lib/client_config/lb_policies/load_balancer_api.c \
+src/core/lib/client_config/lb_policies/pick_first.c \
+src/core/lib/client_config/lb_policies/round_robin.c \
+src/core/lib/client_config/lb_policy.c \
+src/core/lib/client_config/lb_policy_factory.c \
+src/core/lib/client_config/lb_policy_registry.c \
+src/core/lib/client_config/resolver.c \
+src/core/lib/client_config/resolver_factory.c \
+src/core/lib/client_config/resolver_registry.c \
+src/core/lib/client_config/resolvers/dns_resolver.c \
+src/core/lib/client_config/resolvers/sockaddr_resolver.c \
+src/core/lib/client_config/subchannel.c \
+src/core/lib/client_config/subchannel_factory.c \
+src/core/lib/client_config/subchannel_index.c \
+src/core/lib/client_config/uri_parser.c \
+src/core/lib/compression/compression_algorithm.c \
+src/core/lib/compression/message_compress.c \
+src/core/lib/debug/trace.c \
+src/core/lib/http/format_request.c \
+src/core/lib/http/httpcli.c \
+src/core/lib/http/parser.c \
+src/core/lib/iomgr/closure.c \
+src/core/lib/iomgr/endpoint.c \
+src/core/lib/iomgr/endpoint_pair_posix.c \
+src/core/lib/iomgr/endpoint_pair_windows.c \
+src/core/lib/iomgr/exec_ctx.c \
+src/core/lib/iomgr/executor.c \
+src/core/lib/iomgr/fd_posix.c \
+src/core/lib/iomgr/iocp_windows.c \
+src/core/lib/iomgr/iomgr.c \
+src/core/lib/iomgr/iomgr_posix.c \
+src/core/lib/iomgr/iomgr_windows.c \
+src/core/lib/iomgr/pollset_multipoller_with_epoll.c \
+src/core/lib/iomgr/pollset_multipoller_with_poll_posix.c \
+src/core/lib/iomgr/pollset_posix.c \
+src/core/lib/iomgr/pollset_set_posix.c \
+src/core/lib/iomgr/pollset_set_windows.c \
+src/core/lib/iomgr/pollset_windows.c \
+src/core/lib/iomgr/resolve_address_posix.c \
+src/core/lib/iomgr/resolve_address_windows.c \
+src/core/lib/iomgr/sockaddr_utils.c \
+src/core/lib/iomgr/socket_utils_common_posix.c \
+src/core/lib/iomgr/socket_utils_linux.c \
+src/core/lib/iomgr/socket_utils_posix.c \
+src/core/lib/iomgr/socket_windows.c \
+src/core/lib/iomgr/tcp_client_posix.c \
+src/core/lib/iomgr/tcp_client_windows.c \
+src/core/lib/iomgr/tcp_posix.c \
+src/core/lib/iomgr/tcp_server_posix.c \
+src/core/lib/iomgr/tcp_server_windows.c \
+src/core/lib/iomgr/tcp_windows.c \
+src/core/lib/iomgr/time_averaged_stats.c \
+src/core/lib/iomgr/timer.c \
+src/core/lib/iomgr/timer_heap.c \
+src/core/lib/iomgr/udp_server.c \
+src/core/lib/iomgr/unix_sockets_posix.c \
+src/core/lib/iomgr/unix_sockets_posix_noop.c \
+src/core/lib/iomgr/wakeup_fd_eventfd.c \
+src/core/lib/iomgr/wakeup_fd_nospecial.c \
+src/core/lib/iomgr/wakeup_fd_pipe.c \
+src/core/lib/iomgr/wakeup_fd_posix.c \
+src/core/lib/iomgr/workqueue_posix.c \
+src/core/lib/iomgr/workqueue_windows.c \
+src/core/lib/json/json.c \
+src/core/lib/json/json_reader.c \
+src/core/lib/json/json_string.c \
+src/core/lib/json/json_writer.c \
+src/core/lib/proto/grpc/lb/v0/load_balancer.pb.c \
+src/core/lib/surface/alarm.c \
+src/core/lib/surface/api_trace.c \
+src/core/lib/surface/byte_buffer.c \
+src/core/lib/surface/byte_buffer_reader.c \
+src/core/lib/surface/call.c \
+src/core/lib/surface/call_details.c \
+src/core/lib/surface/call_log_batch.c \
+src/core/lib/surface/channel.c \
+src/core/lib/surface/channel_connectivity.c \
+src/core/lib/surface/channel_create.c \
+src/core/lib/surface/channel_init.c \
+src/core/lib/surface/channel_ping.c \
+src/core/lib/surface/channel_stack_type.c \
+src/core/lib/surface/completion_queue.c \
+src/core/lib/surface/event_string.c \
+src/core/lib/surface/init.c \
+src/core/lib/surface/lame_client.c \
+src/core/lib/surface/metadata_array.c \
+src/core/lib/surface/server.c \
+src/core/lib/surface/server_chttp2.c \
+src/core/lib/surface/validate_metadata.c \
+src/core/lib/surface/version.c \
+src/core/lib/transport/byte_stream.c \
+src/core/lib/transport/chttp2/alpn.c \
+src/core/lib/transport/chttp2/bin_encoder.c \
+src/core/lib/transport/chttp2/frame_data.c \
+src/core/lib/transport/chttp2/frame_goaway.c \
+src/core/lib/transport/chttp2/frame_ping.c \
+src/core/lib/transport/chttp2/frame_rst_stream.c \
+src/core/lib/transport/chttp2/frame_settings.c \
+src/core/lib/transport/chttp2/frame_window_update.c \
+src/core/lib/transport/chttp2/hpack_encoder.c \
+src/core/lib/transport/chttp2/hpack_parser.c \
+src/core/lib/transport/chttp2/hpack_table.c \
+src/core/lib/transport/chttp2/huffsyms.c \
+src/core/lib/transport/chttp2/incoming_metadata.c \
+src/core/lib/transport/chttp2/parsing.c \
+src/core/lib/transport/chttp2/status_conversion.c \
+src/core/lib/transport/chttp2/stream_lists.c \
+src/core/lib/transport/chttp2/stream_map.c \
+src/core/lib/transport/chttp2/timeout_encoding.c \
+src/core/lib/transport/chttp2/varint.c \
+src/core/lib/transport/chttp2/writing.c \
+src/core/lib/transport/chttp2_transport.c \
+src/core/lib/transport/connectivity_state.c \
+src/core/lib/transport/metadata.c \
+src/core/lib/transport/metadata_batch.c \
+src/core/lib/transport/static_metadata.c \
+src/core/lib/transport/transport.c \
+src/core/lib/transport/transport_op_string.c \
+src/core/lib/http/httpcli_security_connector.c \
+src/core/lib/security/b64.c \
+src/core/lib/security/client_auth_filter.c \
+src/core/lib/security/credentials.c \
+src/core/lib/security/credentials_metadata.c \
+src/core/lib/security/credentials_posix.c \
+src/core/lib/security/credentials_win32.c \
+src/core/lib/security/google_default_credentials.c \
+src/core/lib/security/handshake.c \
+src/core/lib/security/json_token.c \
+src/core/lib/security/jwt_verifier.c \
+src/core/lib/security/secure_endpoint.c \
+src/core/lib/security/security_connector.c \
+src/core/lib/security/security_context.c \
+src/core/lib/security/server_auth_filter.c \
+src/core/lib/security/server_secure_chttp2.c \
+src/core/lib/surface/init_secure.c \
+src/core/lib/surface/secure_channel_create.c \
+src/core/lib/tsi/fake_transport_security.c \
+src/core/lib/tsi/ssl_transport_security.c \
+src/core/lib/tsi/transport_security.c \
+src/core/lib/census/context.c \
+src/core/lib/census/initialize.c \
+src/core/lib/census/mlog.c \
+src/core/lib/census/operation.c \
+src/core/lib/census/placeholders.c \
+src/core/lib/census/tracing.c \
 third_party/nanopb/pb_common.c \
 third_party/nanopb/pb_decode.c \
 third_party/nanopb/pb_encode.c \
@@ -1120,62 +1120,62 @@
 include/grpc/impl/codegen/sync_posix.h \
 include/grpc/impl/codegen/sync_win32.h \
 include/grpc/impl/codegen/time.h \
-src/core/profiling/timers.h \
-src/core/support/backoff.h \
-src/core/support/block_annotate.h \
-src/core/support/env.h \
-src/core/support/load_file.h \
-src/core/support/murmur_hash.h \
-src/core/support/stack_lockfree.h \
-src/core/support/string.h \
-src/core/support/string_win32.h \
-src/core/support/thd_internal.h \
-src/core/support/time_precise.h \
-src/core/support/tmpfile.h \
-src/core/profiling/basic_timers.c \
-src/core/profiling/stap_timers.c \
-src/core/support/alloc.c \
-src/core/support/avl.c \
-src/core/support/backoff.c \
-src/core/support/cmdline.c \
-src/core/support/cpu_iphone.c \
-src/core/support/cpu_linux.c \
-src/core/support/cpu_posix.c \
-src/core/support/cpu_windows.c \
-src/core/support/env_linux.c \
-src/core/support/env_posix.c \
-src/core/support/env_win32.c \
-src/core/support/histogram.c \
-src/core/support/host_port.c \
-src/core/support/load_file.c \
-src/core/support/log.c \
-src/core/support/log_android.c \
-src/core/support/log_linux.c \
-src/core/support/log_posix.c \
-src/core/support/log_win32.c \
-src/core/support/murmur_hash.c \
-src/core/support/slice.c \
-src/core/support/slice_buffer.c \
-src/core/support/stack_lockfree.c \
-src/core/support/string.c \
-src/core/support/string_posix.c \
-src/core/support/string_win32.c \
-src/core/support/subprocess_posix.c \
-src/core/support/subprocess_windows.c \
-src/core/support/sync.c \
-src/core/support/sync_posix.c \
-src/core/support/sync_win32.c \
-src/core/support/thd.c \
-src/core/support/thd_posix.c \
-src/core/support/thd_win32.c \
-src/core/support/time.c \
-src/core/support/time_posix.c \
-src/core/support/time_precise.c \
-src/core/support/time_win32.c \
-src/core/support/tls_pthread.c \
-src/core/support/tmpfile_posix.c \
-src/core/support/tmpfile_win32.c \
-src/core/support/wrap_memcpy.c
+src/core/lib/profiling/timers.h \
+src/core/lib/support/backoff.h \
+src/core/lib/support/block_annotate.h \
+src/core/lib/support/env.h \
+src/core/lib/support/load_file.h \
+src/core/lib/support/murmur_hash.h \
+src/core/lib/support/stack_lockfree.h \
+src/core/lib/support/string.h \
+src/core/lib/support/string_win32.h \
+src/core/lib/support/thd_internal.h \
+src/core/lib/support/time_precise.h \
+src/core/lib/support/tmpfile.h \
+src/core/lib/profiling/basic_timers.c \
+src/core/lib/profiling/stap_timers.c \
+src/core/lib/support/alloc.c \
+src/core/lib/support/avl.c \
+src/core/lib/support/backoff.c \
+src/core/lib/support/cmdline.c \
+src/core/lib/support/cpu_iphone.c \
+src/core/lib/support/cpu_linux.c \
+src/core/lib/support/cpu_posix.c \
+src/core/lib/support/cpu_windows.c \
+src/core/lib/support/env_linux.c \
+src/core/lib/support/env_posix.c \
+src/core/lib/support/env_win32.c \
+src/core/lib/support/histogram.c \
+src/core/lib/support/host_port.c \
+src/core/lib/support/load_file.c \
+src/core/lib/support/log.c \
+src/core/lib/support/log_android.c \
+src/core/lib/support/log_linux.c \
+src/core/lib/support/log_posix.c \
+src/core/lib/support/log_win32.c \
+src/core/lib/support/murmur_hash.c \
+src/core/lib/support/slice.c \
+src/core/lib/support/slice_buffer.c \
+src/core/lib/support/stack_lockfree.c \
+src/core/lib/support/string.c \
+src/core/lib/support/string_posix.c \
+src/core/lib/support/string_win32.c \
+src/core/lib/support/subprocess_posix.c \
+src/core/lib/support/subprocess_windows.c \
+src/core/lib/support/sync.c \
+src/core/lib/support/sync_posix.c \
+src/core/lib/support/sync_win32.c \
+src/core/lib/support/thd.c \
+src/core/lib/support/thd_posix.c \
+src/core/lib/support/thd_win32.c \
+src/core/lib/support/time.c \
+src/core/lib/support/time_posix.c \
+src/core/lib/support/time_precise.c \
+src/core/lib/support/time_win32.c \
+src/core/lib/support/tls_pthread.c \
+src/core/lib/support/tmpfile_posix.c \
+src/core/lib/support/tmpfile_win32.c \
+src/core/lib/support/wrap_memcpy.c
 
 # This tag can be used to specify the character encoding of the source files
 # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
diff --git a/tools/http2_interop/http2interop_test.go b/tools/http2_interop/http2interop_test.go
index fb314da..305125f 100644
--- a/tools/http2_interop/http2interop_test.go
+++ b/tools/http2_interop/http2interop_test.go
@@ -49,7 +49,7 @@
 
 	if ctx.UseTestCa {
 		// It would be odd if useTestCa was true, but not useTls.  meh
-		certData, err := ioutil.ReadFile("src/core/tsi/test_creds/ca.pem")
+		certData, err := ioutil.ReadFile("src/core/lib/tsi/test_creds/ca.pem")
 		if err != nil {
 			t.Fatal(err)
 		}
diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py
index dc11c0b..a943804 100755
--- a/tools/run_tests/run_tests.py
+++ b/tools/run_tests/run_tests.py
@@ -183,7 +183,7 @@
                                               shortname='%s:%s' % (binary, test),
                                               cpu_cost=target['cpu_cost'],
                                               environ={'GRPC_DEFAULT_SSL_ROOTS_FILE_PATH':
-                                                       _ROOT + '/src/core/tsi/test_creds/ca.pem'}))
+                                                       _ROOT + '/src/core/lib/tsi/test_creds/ca.pem'}))
         else:
           cmdline = [binary] + target['args']
           out.append(self.config.job_spec(cmdline, [binary],
@@ -191,7 +191,7 @@
                                           cpu_cost=target['cpu_cost'],
                                           flaky=target.get('flaky', False),
                                           environ={'GRPC_DEFAULT_SSL_ROOTS_FILE_PATH':
-                                                   _ROOT + '/src/core/tsi/test_creds/ca.pem'}))
+                                                   _ROOT + '/src/core/lib/tsi/test_creds/ca.pem'}))
       elif self.args.regex == '.*' or self.platform == 'windows':
         print '\nWARNING: binary not found, skipping', binary
     return sorted(out)
diff --git a/tools/run_tests/sanity/check_sources_and_headers.py b/tools/run_tests/sanity/check_sources_and_headers.py
index 44dc49b..b5f7912 100755
--- a/tools/run_tests/sanity/check_sources_and_headers.py
+++ b/tools/run_tests/sanity/check_sources_and_headers.py
@@ -55,7 +55,7 @@
   for dep in target['deps']:
     if target_has_header(get_target(dep), name):
       return True
-  if name == 'src/core/profiling/stap_probes.h':
+  if name == 'src/core/lib/profiling/stap_probes.h':
     return True
   return False
 
diff --git a/tools/run_tests/sources_and_headers.json b/tools/run_tests/sources_and_headers.json
index 06dc6d0..8653cf7 100644
--- a/tools/run_tests/sources_and_headers.json
+++ b/tools/run_tests/sources_and_headers.json
@@ -3772,18 +3772,18 @@
       "include/grpc/support/tls_msvc.h", 
       "include/grpc/support/tls_pthread.h", 
       "include/grpc/support/useful.h", 
-      "src/core/profiling/timers.h", 
-      "src/core/support/backoff.h", 
-      "src/core/support/block_annotate.h", 
-      "src/core/support/env.h", 
-      "src/core/support/load_file.h", 
-      "src/core/support/murmur_hash.h", 
-      "src/core/support/stack_lockfree.h", 
-      "src/core/support/string.h", 
-      "src/core/support/string_win32.h", 
-      "src/core/support/thd_internal.h", 
-      "src/core/support/time_precise.h", 
-      "src/core/support/tmpfile.h"
+      "src/core/lib/profiling/timers.h", 
+      "src/core/lib/support/backoff.h", 
+      "src/core/lib/support/block_annotate.h", 
+      "src/core/lib/support/env.h", 
+      "src/core/lib/support/load_file.h", 
+      "src/core/lib/support/murmur_hash.h", 
+      "src/core/lib/support/stack_lockfree.h", 
+      "src/core/lib/support/string.h", 
+      "src/core/lib/support/string_win32.h", 
+      "src/core/lib/support/thd_internal.h", 
+      "src/core/lib/support/time_precise.h", 
+      "src/core/lib/support/tmpfile.h"
     ], 
     "language": "c", 
     "name": "gpr", 
@@ -3830,62 +3830,62 @@
       "include/grpc/support/tls_msvc.h", 
       "include/grpc/support/tls_pthread.h", 
       "include/grpc/support/useful.h", 
-      "src/core/profiling/basic_timers.c", 
-      "src/core/profiling/stap_timers.c", 
-      "src/core/profiling/timers.h", 
-      "src/core/support/alloc.c", 
-      "src/core/support/avl.c", 
-      "src/core/support/backoff.c", 
-      "src/core/support/backoff.h", 
-      "src/core/support/block_annotate.h", 
-      "src/core/support/cmdline.c", 
-      "src/core/support/cpu_iphone.c", 
-      "src/core/support/cpu_linux.c", 
-      "src/core/support/cpu_posix.c", 
-      "src/core/support/cpu_windows.c", 
-      "src/core/support/env.h", 
-      "src/core/support/env_linux.c", 
-      "src/core/support/env_posix.c", 
-      "src/core/support/env_win32.c", 
-      "src/core/support/histogram.c", 
-      "src/core/support/host_port.c", 
-      "src/core/support/load_file.c", 
-      "src/core/support/load_file.h", 
-      "src/core/support/log.c", 
-      "src/core/support/log_android.c", 
-      "src/core/support/log_linux.c", 
-      "src/core/support/log_posix.c", 
-      "src/core/support/log_win32.c", 
-      "src/core/support/murmur_hash.c", 
-      "src/core/support/murmur_hash.h", 
-      "src/core/support/slice.c", 
-      "src/core/support/slice_buffer.c", 
-      "src/core/support/stack_lockfree.c", 
-      "src/core/support/stack_lockfree.h", 
-      "src/core/support/string.c", 
-      "src/core/support/string.h", 
-      "src/core/support/string_posix.c", 
-      "src/core/support/string_win32.c", 
-      "src/core/support/string_win32.h", 
-      "src/core/support/subprocess_posix.c", 
-      "src/core/support/subprocess_windows.c", 
-      "src/core/support/sync.c", 
-      "src/core/support/sync_posix.c", 
-      "src/core/support/sync_win32.c", 
-      "src/core/support/thd.c", 
-      "src/core/support/thd_internal.h", 
-      "src/core/support/thd_posix.c", 
-      "src/core/support/thd_win32.c", 
-      "src/core/support/time.c", 
-      "src/core/support/time_posix.c", 
-      "src/core/support/time_precise.c", 
-      "src/core/support/time_precise.h", 
-      "src/core/support/time_win32.c", 
-      "src/core/support/tls_pthread.c", 
-      "src/core/support/tmpfile.h", 
-      "src/core/support/tmpfile_posix.c", 
-      "src/core/support/tmpfile_win32.c", 
-      "src/core/support/wrap_memcpy.c"
+      "src/core/lib/profiling/basic_timers.c", 
+      "src/core/lib/profiling/stap_timers.c", 
+      "src/core/lib/profiling/timers.h", 
+      "src/core/lib/support/alloc.c", 
+      "src/core/lib/support/avl.c", 
+      "src/core/lib/support/backoff.c", 
+      "src/core/lib/support/backoff.h", 
+      "src/core/lib/support/block_annotate.h", 
+      "src/core/lib/support/cmdline.c", 
+      "src/core/lib/support/cpu_iphone.c", 
+      "src/core/lib/support/cpu_linux.c", 
+      "src/core/lib/support/cpu_posix.c", 
+      "src/core/lib/support/cpu_windows.c", 
+      "src/core/lib/support/env.h", 
+      "src/core/lib/support/env_linux.c", 
+      "src/core/lib/support/env_posix.c", 
+      "src/core/lib/support/env_win32.c", 
+      "src/core/lib/support/histogram.c", 
+      "src/core/lib/support/host_port.c", 
+      "src/core/lib/support/load_file.c", 
+      "src/core/lib/support/load_file.h", 
+      "src/core/lib/support/log.c", 
+      "src/core/lib/support/log_android.c", 
+      "src/core/lib/support/log_linux.c", 
+      "src/core/lib/support/log_posix.c", 
+      "src/core/lib/support/log_win32.c", 
+      "src/core/lib/support/murmur_hash.c", 
+      "src/core/lib/support/murmur_hash.h", 
+      "src/core/lib/support/slice.c", 
+      "src/core/lib/support/slice_buffer.c", 
+      "src/core/lib/support/stack_lockfree.c", 
+      "src/core/lib/support/stack_lockfree.h", 
+      "src/core/lib/support/string.c", 
+      "src/core/lib/support/string.h", 
+      "src/core/lib/support/string_posix.c", 
+      "src/core/lib/support/string_win32.c", 
+      "src/core/lib/support/string_win32.h", 
+      "src/core/lib/support/subprocess_posix.c", 
+      "src/core/lib/support/subprocess_windows.c", 
+      "src/core/lib/support/sync.c", 
+      "src/core/lib/support/sync_posix.c", 
+      "src/core/lib/support/sync_win32.c", 
+      "src/core/lib/support/thd.c", 
+      "src/core/lib/support/thd_internal.h", 
+      "src/core/lib/support/thd_posix.c", 
+      "src/core/lib/support/thd_win32.c", 
+      "src/core/lib/support/time.c", 
+      "src/core/lib/support/time_posix.c", 
+      "src/core/lib/support/time_precise.c", 
+      "src/core/lib/support/time_precise.h", 
+      "src/core/lib/support/time_win32.c", 
+      "src/core/lib/support/tls_pthread.c", 
+      "src/core/lib/support/tmpfile.h", 
+      "src/core/lib/support/tmpfile_posix.c", 
+      "src/core/lib/support/tmpfile_win32.c", 
+      "src/core/lib/support/wrap_memcpy.c"
     ], 
     "third_party": false, 
     "type": "lib"
@@ -3924,143 +3924,143 @@
       "include/grpc/impl/codegen/propagation_bits.h", 
       "include/grpc/impl/codegen/status.h", 
       "include/grpc/status.h", 
-      "src/core/census/aggregation.h", 
-      "src/core/census/grpc_filter.h", 
-      "src/core/census/grpc_plugin.h", 
-      "src/core/census/mlog.h", 
-      "src/core/census/rpc_metric_id.h", 
-      "src/core/channel/channel_args.h", 
-      "src/core/channel/channel_stack.h", 
-      "src/core/channel/channel_stack_builder.h", 
-      "src/core/channel/client_channel.h", 
-      "src/core/channel/compress_filter.h", 
-      "src/core/channel/connected_channel.h", 
-      "src/core/channel/context.h", 
-      "src/core/channel/http_client_filter.h", 
-      "src/core/channel/http_server_filter.h", 
-      "src/core/channel/subchannel_call_holder.h", 
-      "src/core/client_config/client_config.h", 
-      "src/core/client_config/connector.h", 
-      "src/core/client_config/initial_connect_string.h", 
-      "src/core/client_config/lb_policies/load_balancer_api.h", 
-      "src/core/client_config/lb_policies/pick_first.h", 
-      "src/core/client_config/lb_policies/round_robin.h", 
-      "src/core/client_config/lb_policy.h", 
-      "src/core/client_config/lb_policy_factory.h", 
-      "src/core/client_config/lb_policy_registry.h", 
-      "src/core/client_config/resolver.h", 
-      "src/core/client_config/resolver_factory.h", 
-      "src/core/client_config/resolver_registry.h", 
-      "src/core/client_config/resolvers/dns_resolver.h", 
-      "src/core/client_config/resolvers/sockaddr_resolver.h", 
-      "src/core/client_config/subchannel.h", 
-      "src/core/client_config/subchannel_factory.h", 
-      "src/core/client_config/subchannel_index.h", 
-      "src/core/client_config/uri_parser.h", 
-      "src/core/compression/algorithm_metadata.h", 
-      "src/core/compression/message_compress.h", 
-      "src/core/debug/trace.h", 
-      "src/core/http/format_request.h", 
-      "src/core/http/httpcli.h", 
-      "src/core/http/parser.h", 
-      "src/core/iomgr/closure.h", 
-      "src/core/iomgr/endpoint.h", 
-      "src/core/iomgr/endpoint_pair.h", 
-      "src/core/iomgr/exec_ctx.h", 
-      "src/core/iomgr/executor.h", 
-      "src/core/iomgr/fd_posix.h", 
-      "src/core/iomgr/iocp_windows.h", 
-      "src/core/iomgr/iomgr.h", 
-      "src/core/iomgr/iomgr_internal.h", 
-      "src/core/iomgr/iomgr_posix.h", 
-      "src/core/iomgr/pollset.h", 
-      "src/core/iomgr/pollset_posix.h", 
-      "src/core/iomgr/pollset_set.h", 
-      "src/core/iomgr/pollset_set_posix.h", 
-      "src/core/iomgr/pollset_set_windows.h", 
-      "src/core/iomgr/pollset_windows.h", 
-      "src/core/iomgr/resolve_address.h", 
-      "src/core/iomgr/sockaddr.h", 
-      "src/core/iomgr/sockaddr_posix.h", 
-      "src/core/iomgr/sockaddr_utils.h", 
-      "src/core/iomgr/sockaddr_win32.h", 
-      "src/core/iomgr/socket_utils_posix.h", 
-      "src/core/iomgr/socket_windows.h", 
-      "src/core/iomgr/tcp_client.h", 
-      "src/core/iomgr/tcp_posix.h", 
-      "src/core/iomgr/tcp_server.h", 
-      "src/core/iomgr/tcp_windows.h", 
-      "src/core/iomgr/time_averaged_stats.h", 
-      "src/core/iomgr/timer.h", 
-      "src/core/iomgr/timer_heap.h", 
-      "src/core/iomgr/udp_server.h", 
-      "src/core/iomgr/unix_sockets_posix.h", 
-      "src/core/iomgr/wakeup_fd_pipe.h", 
-      "src/core/iomgr/wakeup_fd_posix.h", 
-      "src/core/iomgr/workqueue.h", 
-      "src/core/iomgr/workqueue_posix.h", 
-      "src/core/iomgr/workqueue_windows.h", 
-      "src/core/json/json.h", 
-      "src/core/json/json_common.h", 
-      "src/core/json/json_reader.h", 
-      "src/core/json/json_writer.h", 
-      "src/core/proto/grpc/lb/v0/load_balancer.pb.h", 
-      "src/core/security/auth_filters.h", 
-      "src/core/security/b64.h", 
-      "src/core/security/credentials.h", 
-      "src/core/security/handshake.h", 
-      "src/core/security/json_token.h", 
-      "src/core/security/jwt_verifier.h", 
-      "src/core/security/secure_endpoint.h", 
-      "src/core/security/security_connector.h", 
-      "src/core/security/security_context.h", 
-      "src/core/statistics/census_interface.h", 
-      "src/core/statistics/census_rpc_stats.h", 
-      "src/core/surface/api_trace.h", 
-      "src/core/surface/call.h", 
-      "src/core/surface/call_test_only.h", 
-      "src/core/surface/channel.h", 
-      "src/core/surface/channel_init.h", 
-      "src/core/surface/channel_stack_type.h", 
-      "src/core/surface/completion_queue.h", 
-      "src/core/surface/event_string.h", 
-      "src/core/surface/init.h", 
-      "src/core/surface/lame_client.h", 
-      "src/core/surface/server.h", 
-      "src/core/surface/surface_trace.h", 
-      "src/core/transport/byte_stream.h", 
-      "src/core/transport/chttp2/alpn.h", 
-      "src/core/transport/chttp2/bin_encoder.h", 
-      "src/core/transport/chttp2/frame.h", 
-      "src/core/transport/chttp2/frame_data.h", 
-      "src/core/transport/chttp2/frame_goaway.h", 
-      "src/core/transport/chttp2/frame_ping.h", 
-      "src/core/transport/chttp2/frame_rst_stream.h", 
-      "src/core/transport/chttp2/frame_settings.h", 
-      "src/core/transport/chttp2/frame_window_update.h", 
-      "src/core/transport/chttp2/hpack_encoder.h", 
-      "src/core/transport/chttp2/hpack_parser.h", 
-      "src/core/transport/chttp2/hpack_table.h", 
-      "src/core/transport/chttp2/http2_errors.h", 
-      "src/core/transport/chttp2/huffsyms.h", 
-      "src/core/transport/chttp2/incoming_metadata.h", 
-      "src/core/transport/chttp2/internal.h", 
-      "src/core/transport/chttp2/status_conversion.h", 
-      "src/core/transport/chttp2/stream_map.h", 
-      "src/core/transport/chttp2/timeout_encoding.h", 
-      "src/core/transport/chttp2/varint.h", 
-      "src/core/transport/chttp2_transport.h", 
-      "src/core/transport/connectivity_state.h", 
-      "src/core/transport/metadata.h", 
-      "src/core/transport/metadata_batch.h", 
-      "src/core/transport/static_metadata.h", 
-      "src/core/transport/transport.h", 
-      "src/core/transport/transport_impl.h", 
-      "src/core/tsi/fake_transport_security.h", 
-      "src/core/tsi/ssl_transport_security.h", 
-      "src/core/tsi/ssl_types.h", 
-      "src/core/tsi/transport_security.h", 
-      "src/core/tsi/transport_security_interface.h", 
+      "src/core/lib/census/aggregation.h", 
+      "src/core/lib/census/grpc_filter.h", 
+      "src/core/lib/census/grpc_plugin.h", 
+      "src/core/lib/census/mlog.h", 
+      "src/core/lib/census/rpc_metric_id.h", 
+      "src/core/lib/channel/channel_args.h", 
+      "src/core/lib/channel/channel_stack.h", 
+      "src/core/lib/channel/channel_stack_builder.h", 
+      "src/core/lib/channel/client_channel.h", 
+      "src/core/lib/channel/compress_filter.h", 
+      "src/core/lib/channel/connected_channel.h", 
+      "src/core/lib/channel/context.h", 
+      "src/core/lib/channel/http_client_filter.h", 
+      "src/core/lib/channel/http_server_filter.h", 
+      "src/core/lib/channel/subchannel_call_holder.h", 
+      "src/core/lib/client_config/client_config.h", 
+      "src/core/lib/client_config/connector.h", 
+      "src/core/lib/client_config/initial_connect_string.h", 
+      "src/core/lib/client_config/lb_policies/load_balancer_api.h", 
+      "src/core/lib/client_config/lb_policies/pick_first.h", 
+      "src/core/lib/client_config/lb_policies/round_robin.h", 
+      "src/core/lib/client_config/lb_policy.h", 
+      "src/core/lib/client_config/lb_policy_factory.h", 
+      "src/core/lib/client_config/lb_policy_registry.h", 
+      "src/core/lib/client_config/resolver.h", 
+      "src/core/lib/client_config/resolver_factory.h", 
+      "src/core/lib/client_config/resolver_registry.h", 
+      "src/core/lib/client_config/resolvers/dns_resolver.h", 
+      "src/core/lib/client_config/resolvers/sockaddr_resolver.h", 
+      "src/core/lib/client_config/subchannel.h", 
+      "src/core/lib/client_config/subchannel_factory.h", 
+      "src/core/lib/client_config/subchannel_index.h", 
+      "src/core/lib/client_config/uri_parser.h", 
+      "src/core/lib/compression/algorithm_metadata.h", 
+      "src/core/lib/compression/message_compress.h", 
+      "src/core/lib/debug/trace.h", 
+      "src/core/lib/http/format_request.h", 
+      "src/core/lib/http/httpcli.h", 
+      "src/core/lib/http/parser.h", 
+      "src/core/lib/iomgr/closure.h", 
+      "src/core/lib/iomgr/endpoint.h", 
+      "src/core/lib/iomgr/endpoint_pair.h", 
+      "src/core/lib/iomgr/exec_ctx.h", 
+      "src/core/lib/iomgr/executor.h", 
+      "src/core/lib/iomgr/fd_posix.h", 
+      "src/core/lib/iomgr/iocp_windows.h", 
+      "src/core/lib/iomgr/iomgr.h", 
+      "src/core/lib/iomgr/iomgr_internal.h", 
+      "src/core/lib/iomgr/iomgr_posix.h", 
+      "src/core/lib/iomgr/pollset.h", 
+      "src/core/lib/iomgr/pollset_posix.h", 
+      "src/core/lib/iomgr/pollset_set.h", 
+      "src/core/lib/iomgr/pollset_set_posix.h", 
+      "src/core/lib/iomgr/pollset_set_windows.h", 
+      "src/core/lib/iomgr/pollset_windows.h", 
+      "src/core/lib/iomgr/resolve_address.h", 
+      "src/core/lib/iomgr/sockaddr.h", 
+      "src/core/lib/iomgr/sockaddr_posix.h", 
+      "src/core/lib/iomgr/sockaddr_utils.h", 
+      "src/core/lib/iomgr/sockaddr_win32.h", 
+      "src/core/lib/iomgr/socket_utils_posix.h", 
+      "src/core/lib/iomgr/socket_windows.h", 
+      "src/core/lib/iomgr/tcp_client.h", 
+      "src/core/lib/iomgr/tcp_posix.h", 
+      "src/core/lib/iomgr/tcp_server.h", 
+      "src/core/lib/iomgr/tcp_windows.h", 
+      "src/core/lib/iomgr/time_averaged_stats.h", 
+      "src/core/lib/iomgr/timer.h", 
+      "src/core/lib/iomgr/timer_heap.h", 
+      "src/core/lib/iomgr/udp_server.h", 
+      "src/core/lib/iomgr/unix_sockets_posix.h", 
+      "src/core/lib/iomgr/wakeup_fd_pipe.h", 
+      "src/core/lib/iomgr/wakeup_fd_posix.h", 
+      "src/core/lib/iomgr/workqueue.h", 
+      "src/core/lib/iomgr/workqueue_posix.h", 
+      "src/core/lib/iomgr/workqueue_windows.h", 
+      "src/core/lib/json/json.h", 
+      "src/core/lib/json/json_common.h", 
+      "src/core/lib/json/json_reader.h", 
+      "src/core/lib/json/json_writer.h", 
+      "src/core/lib/proto/grpc/lb/v0/load_balancer.pb.h", 
+      "src/core/lib/security/auth_filters.h", 
+      "src/core/lib/security/b64.h", 
+      "src/core/lib/security/credentials.h", 
+      "src/core/lib/security/handshake.h", 
+      "src/core/lib/security/json_token.h", 
+      "src/core/lib/security/jwt_verifier.h", 
+      "src/core/lib/security/secure_endpoint.h", 
+      "src/core/lib/security/security_connector.h", 
+      "src/core/lib/security/security_context.h", 
+      "src/core/lib/statistics/census_interface.h", 
+      "src/core/lib/statistics/census_rpc_stats.h", 
+      "src/core/lib/surface/api_trace.h", 
+      "src/core/lib/surface/call.h", 
+      "src/core/lib/surface/call_test_only.h", 
+      "src/core/lib/surface/channel.h", 
+      "src/core/lib/surface/channel_init.h", 
+      "src/core/lib/surface/channel_stack_type.h", 
+      "src/core/lib/surface/completion_queue.h", 
+      "src/core/lib/surface/event_string.h", 
+      "src/core/lib/surface/init.h", 
+      "src/core/lib/surface/lame_client.h", 
+      "src/core/lib/surface/server.h", 
+      "src/core/lib/surface/surface_trace.h", 
+      "src/core/lib/transport/byte_stream.h", 
+      "src/core/lib/transport/chttp2/alpn.h", 
+      "src/core/lib/transport/chttp2/bin_encoder.h", 
+      "src/core/lib/transport/chttp2/frame.h", 
+      "src/core/lib/transport/chttp2/frame_data.h", 
+      "src/core/lib/transport/chttp2/frame_goaway.h", 
+      "src/core/lib/transport/chttp2/frame_ping.h", 
+      "src/core/lib/transport/chttp2/frame_rst_stream.h", 
+      "src/core/lib/transport/chttp2/frame_settings.h", 
+      "src/core/lib/transport/chttp2/frame_window_update.h", 
+      "src/core/lib/transport/chttp2/hpack_encoder.h", 
+      "src/core/lib/transport/chttp2/hpack_parser.h", 
+      "src/core/lib/transport/chttp2/hpack_table.h", 
+      "src/core/lib/transport/chttp2/http2_errors.h", 
+      "src/core/lib/transport/chttp2/huffsyms.h", 
+      "src/core/lib/transport/chttp2/incoming_metadata.h", 
+      "src/core/lib/transport/chttp2/internal.h", 
+      "src/core/lib/transport/chttp2/status_conversion.h", 
+      "src/core/lib/transport/chttp2/stream_map.h", 
+      "src/core/lib/transport/chttp2/timeout_encoding.h", 
+      "src/core/lib/transport/chttp2/varint.h", 
+      "src/core/lib/transport/chttp2_transport.h", 
+      "src/core/lib/transport/connectivity_state.h", 
+      "src/core/lib/transport/metadata.h", 
+      "src/core/lib/transport/metadata_batch.h", 
+      "src/core/lib/transport/static_metadata.h", 
+      "src/core/lib/transport/transport.h", 
+      "src/core/lib/transport/transport_impl.h", 
+      "src/core/lib/tsi/fake_transport_security.h", 
+      "src/core/lib/tsi/ssl_transport_security.h", 
+      "src/core/lib/tsi/ssl_types.h", 
+      "src/core/lib/tsi/transport_security.h", 
+      "src/core/lib/tsi/transport_security_interface.h", 
       "third_party/nanopb/pb.h", 
       "third_party/nanopb/pb_common.h", 
       "third_party/nanopb/pb_decode.h", 
@@ -4082,304 +4082,304 @@
       "include/grpc/impl/codegen/propagation_bits.h", 
       "include/grpc/impl/codegen/status.h", 
       "include/grpc/status.h", 
-      "src/core/census/aggregation.h", 
-      "src/core/census/context.c", 
-      "src/core/census/grpc_context.c", 
-      "src/core/census/grpc_filter.c", 
-      "src/core/census/grpc_filter.h", 
-      "src/core/census/grpc_plugin.c", 
-      "src/core/census/grpc_plugin.h", 
-      "src/core/census/initialize.c", 
-      "src/core/census/mlog.c", 
-      "src/core/census/mlog.h", 
-      "src/core/census/operation.c", 
-      "src/core/census/placeholders.c", 
-      "src/core/census/rpc_metric_id.h", 
-      "src/core/census/tracing.c", 
-      "src/core/channel/channel_args.c", 
-      "src/core/channel/channel_args.h", 
-      "src/core/channel/channel_stack.c", 
-      "src/core/channel/channel_stack.h", 
-      "src/core/channel/channel_stack_builder.c", 
-      "src/core/channel/channel_stack_builder.h", 
-      "src/core/channel/client_channel.c", 
-      "src/core/channel/client_channel.h", 
-      "src/core/channel/compress_filter.c", 
-      "src/core/channel/compress_filter.h", 
-      "src/core/channel/connected_channel.c", 
-      "src/core/channel/connected_channel.h", 
-      "src/core/channel/context.h", 
-      "src/core/channel/http_client_filter.c", 
-      "src/core/channel/http_client_filter.h", 
-      "src/core/channel/http_server_filter.c", 
-      "src/core/channel/http_server_filter.h", 
-      "src/core/channel/subchannel_call_holder.c", 
-      "src/core/channel/subchannel_call_holder.h", 
-      "src/core/client_config/client_config.c", 
-      "src/core/client_config/client_config.h", 
-      "src/core/client_config/connector.c", 
-      "src/core/client_config/connector.h", 
-      "src/core/client_config/default_initial_connect_string.c", 
-      "src/core/client_config/initial_connect_string.c", 
-      "src/core/client_config/initial_connect_string.h", 
-      "src/core/client_config/lb_policies/load_balancer_api.c", 
-      "src/core/client_config/lb_policies/load_balancer_api.h", 
-      "src/core/client_config/lb_policies/pick_first.c", 
-      "src/core/client_config/lb_policies/pick_first.h", 
-      "src/core/client_config/lb_policies/round_robin.c", 
-      "src/core/client_config/lb_policies/round_robin.h", 
-      "src/core/client_config/lb_policy.c", 
-      "src/core/client_config/lb_policy.h", 
-      "src/core/client_config/lb_policy_factory.c", 
-      "src/core/client_config/lb_policy_factory.h", 
-      "src/core/client_config/lb_policy_registry.c", 
-      "src/core/client_config/lb_policy_registry.h", 
-      "src/core/client_config/resolver.c", 
-      "src/core/client_config/resolver.h", 
-      "src/core/client_config/resolver_factory.c", 
-      "src/core/client_config/resolver_factory.h", 
-      "src/core/client_config/resolver_registry.c", 
-      "src/core/client_config/resolver_registry.h", 
-      "src/core/client_config/resolvers/dns_resolver.c", 
-      "src/core/client_config/resolvers/dns_resolver.h", 
-      "src/core/client_config/resolvers/sockaddr_resolver.c", 
-      "src/core/client_config/resolvers/sockaddr_resolver.h", 
-      "src/core/client_config/subchannel.c", 
-      "src/core/client_config/subchannel.h", 
-      "src/core/client_config/subchannel_factory.c", 
-      "src/core/client_config/subchannel_factory.h", 
-      "src/core/client_config/subchannel_index.c", 
-      "src/core/client_config/subchannel_index.h", 
-      "src/core/client_config/uri_parser.c", 
-      "src/core/client_config/uri_parser.h", 
-      "src/core/compression/algorithm_metadata.h", 
-      "src/core/compression/compression_algorithm.c", 
-      "src/core/compression/message_compress.c", 
-      "src/core/compression/message_compress.h", 
-      "src/core/debug/trace.c", 
-      "src/core/debug/trace.h", 
-      "src/core/http/format_request.c", 
-      "src/core/http/format_request.h", 
-      "src/core/http/httpcli.c", 
-      "src/core/http/httpcli.h", 
-      "src/core/http/httpcli_security_connector.c", 
-      "src/core/http/parser.c", 
-      "src/core/http/parser.h", 
-      "src/core/iomgr/closure.c", 
-      "src/core/iomgr/closure.h", 
-      "src/core/iomgr/endpoint.c", 
-      "src/core/iomgr/endpoint.h", 
-      "src/core/iomgr/endpoint_pair.h", 
-      "src/core/iomgr/endpoint_pair_posix.c", 
-      "src/core/iomgr/endpoint_pair_windows.c", 
-      "src/core/iomgr/exec_ctx.c", 
-      "src/core/iomgr/exec_ctx.h", 
-      "src/core/iomgr/executor.c", 
-      "src/core/iomgr/executor.h", 
-      "src/core/iomgr/fd_posix.c", 
-      "src/core/iomgr/fd_posix.h", 
-      "src/core/iomgr/iocp_windows.c", 
-      "src/core/iomgr/iocp_windows.h", 
-      "src/core/iomgr/iomgr.c", 
-      "src/core/iomgr/iomgr.h", 
-      "src/core/iomgr/iomgr_internal.h", 
-      "src/core/iomgr/iomgr_posix.c", 
-      "src/core/iomgr/iomgr_posix.h", 
-      "src/core/iomgr/iomgr_windows.c", 
-      "src/core/iomgr/pollset.h", 
-      "src/core/iomgr/pollset_multipoller_with_epoll.c", 
-      "src/core/iomgr/pollset_multipoller_with_poll_posix.c", 
-      "src/core/iomgr/pollset_posix.c", 
-      "src/core/iomgr/pollset_posix.h", 
-      "src/core/iomgr/pollset_set.h", 
-      "src/core/iomgr/pollset_set_posix.c", 
-      "src/core/iomgr/pollset_set_posix.h", 
-      "src/core/iomgr/pollset_set_windows.c", 
-      "src/core/iomgr/pollset_set_windows.h", 
-      "src/core/iomgr/pollset_windows.c", 
-      "src/core/iomgr/pollset_windows.h", 
-      "src/core/iomgr/resolve_address.h", 
-      "src/core/iomgr/resolve_address_posix.c", 
-      "src/core/iomgr/resolve_address_windows.c", 
-      "src/core/iomgr/sockaddr.h", 
-      "src/core/iomgr/sockaddr_posix.h", 
-      "src/core/iomgr/sockaddr_utils.c", 
-      "src/core/iomgr/sockaddr_utils.h", 
-      "src/core/iomgr/sockaddr_win32.h", 
-      "src/core/iomgr/socket_utils_common_posix.c", 
-      "src/core/iomgr/socket_utils_linux.c", 
-      "src/core/iomgr/socket_utils_posix.c", 
-      "src/core/iomgr/socket_utils_posix.h", 
-      "src/core/iomgr/socket_windows.c", 
-      "src/core/iomgr/socket_windows.h", 
-      "src/core/iomgr/tcp_client.h", 
-      "src/core/iomgr/tcp_client_posix.c", 
-      "src/core/iomgr/tcp_client_windows.c", 
-      "src/core/iomgr/tcp_posix.c", 
-      "src/core/iomgr/tcp_posix.h", 
-      "src/core/iomgr/tcp_server.h", 
-      "src/core/iomgr/tcp_server_posix.c", 
-      "src/core/iomgr/tcp_server_windows.c", 
-      "src/core/iomgr/tcp_windows.c", 
-      "src/core/iomgr/tcp_windows.h", 
-      "src/core/iomgr/time_averaged_stats.c", 
-      "src/core/iomgr/time_averaged_stats.h", 
-      "src/core/iomgr/timer.c", 
-      "src/core/iomgr/timer.h", 
-      "src/core/iomgr/timer_heap.c", 
-      "src/core/iomgr/timer_heap.h", 
-      "src/core/iomgr/udp_server.c", 
-      "src/core/iomgr/udp_server.h", 
-      "src/core/iomgr/unix_sockets_posix.c", 
-      "src/core/iomgr/unix_sockets_posix.h", 
-      "src/core/iomgr/unix_sockets_posix_noop.c", 
-      "src/core/iomgr/wakeup_fd_eventfd.c", 
-      "src/core/iomgr/wakeup_fd_nospecial.c", 
-      "src/core/iomgr/wakeup_fd_pipe.c", 
-      "src/core/iomgr/wakeup_fd_pipe.h", 
-      "src/core/iomgr/wakeup_fd_posix.c", 
-      "src/core/iomgr/wakeup_fd_posix.h", 
-      "src/core/iomgr/workqueue.h", 
-      "src/core/iomgr/workqueue_posix.c", 
-      "src/core/iomgr/workqueue_posix.h", 
-      "src/core/iomgr/workqueue_windows.c", 
-      "src/core/iomgr/workqueue_windows.h", 
-      "src/core/json/json.c", 
-      "src/core/json/json.h", 
-      "src/core/json/json_common.h", 
-      "src/core/json/json_reader.c", 
-      "src/core/json/json_reader.h", 
-      "src/core/json/json_string.c", 
-      "src/core/json/json_writer.c", 
-      "src/core/json/json_writer.h", 
-      "src/core/proto/grpc/lb/v0/load_balancer.pb.c", 
-      "src/core/proto/grpc/lb/v0/load_balancer.pb.h", 
-      "src/core/security/auth_filters.h", 
-      "src/core/security/b64.c", 
-      "src/core/security/b64.h", 
-      "src/core/security/client_auth_filter.c", 
-      "src/core/security/credentials.c", 
-      "src/core/security/credentials.h", 
-      "src/core/security/credentials_metadata.c", 
-      "src/core/security/credentials_posix.c", 
-      "src/core/security/credentials_win32.c", 
-      "src/core/security/google_default_credentials.c", 
-      "src/core/security/handshake.c", 
-      "src/core/security/handshake.h", 
-      "src/core/security/json_token.c", 
-      "src/core/security/json_token.h", 
-      "src/core/security/jwt_verifier.c", 
-      "src/core/security/jwt_verifier.h", 
-      "src/core/security/secure_endpoint.c", 
-      "src/core/security/secure_endpoint.h", 
-      "src/core/security/security_connector.c", 
-      "src/core/security/security_connector.h", 
-      "src/core/security/security_context.c", 
-      "src/core/security/security_context.h", 
-      "src/core/security/server_auth_filter.c", 
-      "src/core/security/server_secure_chttp2.c", 
-      "src/core/statistics/census_interface.h", 
-      "src/core/statistics/census_rpc_stats.h", 
-      "src/core/surface/alarm.c", 
-      "src/core/surface/api_trace.c", 
-      "src/core/surface/api_trace.h", 
-      "src/core/surface/byte_buffer.c", 
-      "src/core/surface/byte_buffer_reader.c", 
-      "src/core/surface/call.c", 
-      "src/core/surface/call.h", 
-      "src/core/surface/call_details.c", 
-      "src/core/surface/call_log_batch.c", 
-      "src/core/surface/call_test_only.h", 
-      "src/core/surface/channel.c", 
-      "src/core/surface/channel.h", 
-      "src/core/surface/channel_connectivity.c", 
-      "src/core/surface/channel_create.c", 
-      "src/core/surface/channel_init.c", 
-      "src/core/surface/channel_init.h", 
-      "src/core/surface/channel_ping.c", 
-      "src/core/surface/channel_stack_type.c", 
-      "src/core/surface/channel_stack_type.h", 
-      "src/core/surface/completion_queue.c", 
-      "src/core/surface/completion_queue.h", 
-      "src/core/surface/event_string.c", 
-      "src/core/surface/event_string.h", 
-      "src/core/surface/init.c", 
-      "src/core/surface/init.h", 
-      "src/core/surface/init_secure.c", 
-      "src/core/surface/lame_client.c", 
-      "src/core/surface/lame_client.h", 
-      "src/core/surface/metadata_array.c", 
-      "src/core/surface/secure_channel_create.c", 
-      "src/core/surface/server.c", 
-      "src/core/surface/server.h", 
-      "src/core/surface/server_chttp2.c", 
-      "src/core/surface/surface_trace.h", 
-      "src/core/surface/validate_metadata.c", 
-      "src/core/surface/version.c", 
-      "src/core/transport/byte_stream.c", 
-      "src/core/transport/byte_stream.h", 
-      "src/core/transport/chttp2/alpn.c", 
-      "src/core/transport/chttp2/alpn.h", 
-      "src/core/transport/chttp2/bin_encoder.c", 
-      "src/core/transport/chttp2/bin_encoder.h", 
-      "src/core/transport/chttp2/frame.h", 
-      "src/core/transport/chttp2/frame_data.c", 
-      "src/core/transport/chttp2/frame_data.h", 
-      "src/core/transport/chttp2/frame_goaway.c", 
-      "src/core/transport/chttp2/frame_goaway.h", 
-      "src/core/transport/chttp2/frame_ping.c", 
-      "src/core/transport/chttp2/frame_ping.h", 
-      "src/core/transport/chttp2/frame_rst_stream.c", 
-      "src/core/transport/chttp2/frame_rst_stream.h", 
-      "src/core/transport/chttp2/frame_settings.c", 
-      "src/core/transport/chttp2/frame_settings.h", 
-      "src/core/transport/chttp2/frame_window_update.c", 
-      "src/core/transport/chttp2/frame_window_update.h", 
-      "src/core/transport/chttp2/hpack_encoder.c", 
-      "src/core/transport/chttp2/hpack_encoder.h", 
-      "src/core/transport/chttp2/hpack_parser.c", 
-      "src/core/transport/chttp2/hpack_parser.h", 
-      "src/core/transport/chttp2/hpack_table.c", 
-      "src/core/transport/chttp2/hpack_table.h", 
-      "src/core/transport/chttp2/http2_errors.h", 
-      "src/core/transport/chttp2/huffsyms.c", 
-      "src/core/transport/chttp2/huffsyms.h", 
-      "src/core/transport/chttp2/incoming_metadata.c", 
-      "src/core/transport/chttp2/incoming_metadata.h", 
-      "src/core/transport/chttp2/internal.h", 
-      "src/core/transport/chttp2/parsing.c", 
-      "src/core/transport/chttp2/status_conversion.c", 
-      "src/core/transport/chttp2/status_conversion.h", 
-      "src/core/transport/chttp2/stream_lists.c", 
-      "src/core/transport/chttp2/stream_map.c", 
-      "src/core/transport/chttp2/stream_map.h", 
-      "src/core/transport/chttp2/timeout_encoding.c", 
-      "src/core/transport/chttp2/timeout_encoding.h", 
-      "src/core/transport/chttp2/varint.c", 
-      "src/core/transport/chttp2/varint.h", 
-      "src/core/transport/chttp2/writing.c", 
-      "src/core/transport/chttp2_transport.c", 
-      "src/core/transport/chttp2_transport.h", 
-      "src/core/transport/connectivity_state.c", 
-      "src/core/transport/connectivity_state.h", 
-      "src/core/transport/metadata.c", 
-      "src/core/transport/metadata.h", 
-      "src/core/transport/metadata_batch.c", 
-      "src/core/transport/metadata_batch.h", 
-      "src/core/transport/static_metadata.c", 
-      "src/core/transport/static_metadata.h", 
-      "src/core/transport/transport.c", 
-      "src/core/transport/transport.h", 
-      "src/core/transport/transport_impl.h", 
-      "src/core/transport/transport_op_string.c", 
-      "src/core/tsi/fake_transport_security.c", 
-      "src/core/tsi/fake_transport_security.h", 
-      "src/core/tsi/ssl_transport_security.c", 
-      "src/core/tsi/ssl_transport_security.h", 
-      "src/core/tsi/ssl_types.h", 
-      "src/core/tsi/transport_security.c", 
-      "src/core/tsi/transport_security.h", 
-      "src/core/tsi/transport_security_interface.h"
+      "src/core/lib/census/aggregation.h", 
+      "src/core/lib/census/context.c", 
+      "src/core/lib/census/grpc_context.c", 
+      "src/core/lib/census/grpc_filter.c", 
+      "src/core/lib/census/grpc_filter.h", 
+      "src/core/lib/census/grpc_plugin.c", 
+      "src/core/lib/census/grpc_plugin.h", 
+      "src/core/lib/census/initialize.c", 
+      "src/core/lib/census/mlog.c", 
+      "src/core/lib/census/mlog.h", 
+      "src/core/lib/census/operation.c", 
+      "src/core/lib/census/placeholders.c", 
+      "src/core/lib/census/rpc_metric_id.h", 
+      "src/core/lib/census/tracing.c", 
+      "src/core/lib/channel/channel_args.c", 
+      "src/core/lib/channel/channel_args.h", 
+      "src/core/lib/channel/channel_stack.c", 
+      "src/core/lib/channel/channel_stack.h", 
+      "src/core/lib/channel/channel_stack_builder.c", 
+      "src/core/lib/channel/channel_stack_builder.h", 
+      "src/core/lib/channel/client_channel.c", 
+      "src/core/lib/channel/client_channel.h", 
+      "src/core/lib/channel/compress_filter.c", 
+      "src/core/lib/channel/compress_filter.h", 
+      "src/core/lib/channel/connected_channel.c", 
+      "src/core/lib/channel/connected_channel.h", 
+      "src/core/lib/channel/context.h", 
+      "src/core/lib/channel/http_client_filter.c", 
+      "src/core/lib/channel/http_client_filter.h", 
+      "src/core/lib/channel/http_server_filter.c", 
+      "src/core/lib/channel/http_server_filter.h", 
+      "src/core/lib/channel/subchannel_call_holder.c", 
+      "src/core/lib/channel/subchannel_call_holder.h", 
+      "src/core/lib/client_config/client_config.c", 
+      "src/core/lib/client_config/client_config.h", 
+      "src/core/lib/client_config/connector.c", 
+      "src/core/lib/client_config/connector.h", 
+      "src/core/lib/client_config/default_initial_connect_string.c", 
+      "src/core/lib/client_config/initial_connect_string.c", 
+      "src/core/lib/client_config/initial_connect_string.h", 
+      "src/core/lib/client_config/lb_policies/load_balancer_api.c", 
+      "src/core/lib/client_config/lb_policies/load_balancer_api.h", 
+      "src/core/lib/client_config/lb_policies/pick_first.c", 
+      "src/core/lib/client_config/lb_policies/pick_first.h", 
+      "src/core/lib/client_config/lb_policies/round_robin.c", 
+      "src/core/lib/client_config/lb_policies/round_robin.h", 
+      "src/core/lib/client_config/lb_policy.c", 
+      "src/core/lib/client_config/lb_policy.h", 
+      "src/core/lib/client_config/lb_policy_factory.c", 
+      "src/core/lib/client_config/lb_policy_factory.h", 
+      "src/core/lib/client_config/lb_policy_registry.c", 
+      "src/core/lib/client_config/lb_policy_registry.h", 
+      "src/core/lib/client_config/resolver.c", 
+      "src/core/lib/client_config/resolver.h", 
+      "src/core/lib/client_config/resolver_factory.c", 
+      "src/core/lib/client_config/resolver_factory.h", 
+      "src/core/lib/client_config/resolver_registry.c", 
+      "src/core/lib/client_config/resolver_registry.h", 
+      "src/core/lib/client_config/resolvers/dns_resolver.c", 
+      "src/core/lib/client_config/resolvers/dns_resolver.h", 
+      "src/core/lib/client_config/resolvers/sockaddr_resolver.c", 
+      "src/core/lib/client_config/resolvers/sockaddr_resolver.h", 
+      "src/core/lib/client_config/subchannel.c", 
+      "src/core/lib/client_config/subchannel.h", 
+      "src/core/lib/client_config/subchannel_factory.c", 
+      "src/core/lib/client_config/subchannel_factory.h", 
+      "src/core/lib/client_config/subchannel_index.c", 
+      "src/core/lib/client_config/subchannel_index.h", 
+      "src/core/lib/client_config/uri_parser.c", 
+      "src/core/lib/client_config/uri_parser.h", 
+      "src/core/lib/compression/algorithm_metadata.h", 
+      "src/core/lib/compression/compression_algorithm.c", 
+      "src/core/lib/compression/message_compress.c", 
+      "src/core/lib/compression/message_compress.h", 
+      "src/core/lib/debug/trace.c", 
+      "src/core/lib/debug/trace.h", 
+      "src/core/lib/http/format_request.c", 
+      "src/core/lib/http/format_request.h", 
+      "src/core/lib/http/httpcli.c", 
+      "src/core/lib/http/httpcli.h", 
+      "src/core/lib/http/httpcli_security_connector.c", 
+      "src/core/lib/http/parser.c", 
+      "src/core/lib/http/parser.h", 
+      "src/core/lib/iomgr/closure.c", 
+      "src/core/lib/iomgr/closure.h", 
+      "src/core/lib/iomgr/endpoint.c", 
+      "src/core/lib/iomgr/endpoint.h", 
+      "src/core/lib/iomgr/endpoint_pair.h", 
+      "src/core/lib/iomgr/endpoint_pair_posix.c", 
+      "src/core/lib/iomgr/endpoint_pair_windows.c", 
+      "src/core/lib/iomgr/exec_ctx.c", 
+      "src/core/lib/iomgr/exec_ctx.h", 
+      "src/core/lib/iomgr/executor.c", 
+      "src/core/lib/iomgr/executor.h", 
+      "src/core/lib/iomgr/fd_posix.c", 
+      "src/core/lib/iomgr/fd_posix.h", 
+      "src/core/lib/iomgr/iocp_windows.c", 
+      "src/core/lib/iomgr/iocp_windows.h", 
+      "src/core/lib/iomgr/iomgr.c", 
+      "src/core/lib/iomgr/iomgr.h", 
+      "src/core/lib/iomgr/iomgr_internal.h", 
+      "src/core/lib/iomgr/iomgr_posix.c", 
+      "src/core/lib/iomgr/iomgr_posix.h", 
+      "src/core/lib/iomgr/iomgr_windows.c", 
+      "src/core/lib/iomgr/pollset.h", 
+      "src/core/lib/iomgr/pollset_multipoller_with_epoll.c", 
+      "src/core/lib/iomgr/pollset_multipoller_with_poll_posix.c", 
+      "src/core/lib/iomgr/pollset_posix.c", 
+      "src/core/lib/iomgr/pollset_posix.h", 
+      "src/core/lib/iomgr/pollset_set.h", 
+      "src/core/lib/iomgr/pollset_set_posix.c", 
+      "src/core/lib/iomgr/pollset_set_posix.h", 
+      "src/core/lib/iomgr/pollset_set_windows.c", 
+      "src/core/lib/iomgr/pollset_set_windows.h", 
+      "src/core/lib/iomgr/pollset_windows.c", 
+      "src/core/lib/iomgr/pollset_windows.h", 
+      "src/core/lib/iomgr/resolve_address.h", 
+      "src/core/lib/iomgr/resolve_address_posix.c", 
+      "src/core/lib/iomgr/resolve_address_windows.c", 
+      "src/core/lib/iomgr/sockaddr.h", 
+      "src/core/lib/iomgr/sockaddr_posix.h", 
+      "src/core/lib/iomgr/sockaddr_utils.c", 
+      "src/core/lib/iomgr/sockaddr_utils.h", 
+      "src/core/lib/iomgr/sockaddr_win32.h", 
+      "src/core/lib/iomgr/socket_utils_common_posix.c", 
+      "src/core/lib/iomgr/socket_utils_linux.c", 
+      "src/core/lib/iomgr/socket_utils_posix.c", 
+      "src/core/lib/iomgr/socket_utils_posix.h", 
+      "src/core/lib/iomgr/socket_windows.c", 
+      "src/core/lib/iomgr/socket_windows.h", 
+      "src/core/lib/iomgr/tcp_client.h", 
+      "src/core/lib/iomgr/tcp_client_posix.c", 
+      "src/core/lib/iomgr/tcp_client_windows.c", 
+      "src/core/lib/iomgr/tcp_posix.c", 
+      "src/core/lib/iomgr/tcp_posix.h", 
+      "src/core/lib/iomgr/tcp_server.h", 
+      "src/core/lib/iomgr/tcp_server_posix.c", 
+      "src/core/lib/iomgr/tcp_server_windows.c", 
+      "src/core/lib/iomgr/tcp_windows.c", 
+      "src/core/lib/iomgr/tcp_windows.h", 
+      "src/core/lib/iomgr/time_averaged_stats.c", 
+      "src/core/lib/iomgr/time_averaged_stats.h", 
+      "src/core/lib/iomgr/timer.c", 
+      "src/core/lib/iomgr/timer.h", 
+      "src/core/lib/iomgr/timer_heap.c", 
+      "src/core/lib/iomgr/timer_heap.h", 
+      "src/core/lib/iomgr/udp_server.c", 
+      "src/core/lib/iomgr/udp_server.h", 
+      "src/core/lib/iomgr/unix_sockets_posix.c", 
+      "src/core/lib/iomgr/unix_sockets_posix.h", 
+      "src/core/lib/iomgr/unix_sockets_posix_noop.c", 
+      "src/core/lib/iomgr/wakeup_fd_eventfd.c", 
+      "src/core/lib/iomgr/wakeup_fd_nospecial.c", 
+      "src/core/lib/iomgr/wakeup_fd_pipe.c", 
+      "src/core/lib/iomgr/wakeup_fd_pipe.h", 
+      "src/core/lib/iomgr/wakeup_fd_posix.c", 
+      "src/core/lib/iomgr/wakeup_fd_posix.h", 
+      "src/core/lib/iomgr/workqueue.h", 
+      "src/core/lib/iomgr/workqueue_posix.c", 
+      "src/core/lib/iomgr/workqueue_posix.h", 
+      "src/core/lib/iomgr/workqueue_windows.c", 
+      "src/core/lib/iomgr/workqueue_windows.h", 
+      "src/core/lib/json/json.c", 
+      "src/core/lib/json/json.h", 
+      "src/core/lib/json/json_common.h", 
+      "src/core/lib/json/json_reader.c", 
+      "src/core/lib/json/json_reader.h", 
+      "src/core/lib/json/json_string.c", 
+      "src/core/lib/json/json_writer.c", 
+      "src/core/lib/json/json_writer.h", 
+      "src/core/lib/proto/grpc/lb/v0/load_balancer.pb.c", 
+      "src/core/lib/proto/grpc/lb/v0/load_balancer.pb.h", 
+      "src/core/lib/security/auth_filters.h", 
+      "src/core/lib/security/b64.c", 
+      "src/core/lib/security/b64.h", 
+      "src/core/lib/security/client_auth_filter.c", 
+      "src/core/lib/security/credentials.c", 
+      "src/core/lib/security/credentials.h", 
+      "src/core/lib/security/credentials_metadata.c", 
+      "src/core/lib/security/credentials_posix.c", 
+      "src/core/lib/security/credentials_win32.c", 
+      "src/core/lib/security/google_default_credentials.c", 
+      "src/core/lib/security/handshake.c", 
+      "src/core/lib/security/handshake.h", 
+      "src/core/lib/security/json_token.c", 
+      "src/core/lib/security/json_token.h", 
+      "src/core/lib/security/jwt_verifier.c", 
+      "src/core/lib/security/jwt_verifier.h", 
+      "src/core/lib/security/secure_endpoint.c", 
+      "src/core/lib/security/secure_endpoint.h", 
+      "src/core/lib/security/security_connector.c", 
+      "src/core/lib/security/security_connector.h", 
+      "src/core/lib/security/security_context.c", 
+      "src/core/lib/security/security_context.h", 
+      "src/core/lib/security/server_auth_filter.c", 
+      "src/core/lib/security/server_secure_chttp2.c", 
+      "src/core/lib/statistics/census_interface.h", 
+      "src/core/lib/statistics/census_rpc_stats.h", 
+      "src/core/lib/surface/alarm.c", 
+      "src/core/lib/surface/api_trace.c", 
+      "src/core/lib/surface/api_trace.h", 
+      "src/core/lib/surface/byte_buffer.c", 
+      "src/core/lib/surface/byte_buffer_reader.c", 
+      "src/core/lib/surface/call.c", 
+      "src/core/lib/surface/call.h", 
+      "src/core/lib/surface/call_details.c", 
+      "src/core/lib/surface/call_log_batch.c", 
+      "src/core/lib/surface/call_test_only.h", 
+      "src/core/lib/surface/channel.c", 
+      "src/core/lib/surface/channel.h", 
+      "src/core/lib/surface/channel_connectivity.c", 
+      "src/core/lib/surface/channel_create.c", 
+      "src/core/lib/surface/channel_init.c", 
+      "src/core/lib/surface/channel_init.h", 
+      "src/core/lib/surface/channel_ping.c", 
+      "src/core/lib/surface/channel_stack_type.c", 
+      "src/core/lib/surface/channel_stack_type.h", 
+      "src/core/lib/surface/completion_queue.c", 
+      "src/core/lib/surface/completion_queue.h", 
+      "src/core/lib/surface/event_string.c", 
+      "src/core/lib/surface/event_string.h", 
+      "src/core/lib/surface/init.c", 
+      "src/core/lib/surface/init.h", 
+      "src/core/lib/surface/init_secure.c", 
+      "src/core/lib/surface/lame_client.c", 
+      "src/core/lib/surface/lame_client.h", 
+      "src/core/lib/surface/metadata_array.c", 
+      "src/core/lib/surface/secure_channel_create.c", 
+      "src/core/lib/surface/server.c", 
+      "src/core/lib/surface/server.h", 
+      "src/core/lib/surface/server_chttp2.c", 
+      "src/core/lib/surface/surface_trace.h", 
+      "src/core/lib/surface/validate_metadata.c", 
+      "src/core/lib/surface/version.c", 
+      "src/core/lib/transport/byte_stream.c", 
+      "src/core/lib/transport/byte_stream.h", 
+      "src/core/lib/transport/chttp2/alpn.c", 
+      "src/core/lib/transport/chttp2/alpn.h", 
+      "src/core/lib/transport/chttp2/bin_encoder.c", 
+      "src/core/lib/transport/chttp2/bin_encoder.h", 
+      "src/core/lib/transport/chttp2/frame.h", 
+      "src/core/lib/transport/chttp2/frame_data.c", 
+      "src/core/lib/transport/chttp2/frame_data.h", 
+      "src/core/lib/transport/chttp2/frame_goaway.c", 
+      "src/core/lib/transport/chttp2/frame_goaway.h", 
+      "src/core/lib/transport/chttp2/frame_ping.c", 
+      "src/core/lib/transport/chttp2/frame_ping.h", 
+      "src/core/lib/transport/chttp2/frame_rst_stream.c", 
+      "src/core/lib/transport/chttp2/frame_rst_stream.h", 
+      "src/core/lib/transport/chttp2/frame_settings.c", 
+      "src/core/lib/transport/chttp2/frame_settings.h", 
+      "src/core/lib/transport/chttp2/frame_window_update.c", 
+      "src/core/lib/transport/chttp2/frame_window_update.h", 
+      "src/core/lib/transport/chttp2/hpack_encoder.c", 
+      "src/core/lib/transport/chttp2/hpack_encoder.h", 
+      "src/core/lib/transport/chttp2/hpack_parser.c", 
+      "src/core/lib/transport/chttp2/hpack_parser.h", 
+      "src/core/lib/transport/chttp2/hpack_table.c", 
+      "src/core/lib/transport/chttp2/hpack_table.h", 
+      "src/core/lib/transport/chttp2/http2_errors.h", 
+      "src/core/lib/transport/chttp2/huffsyms.c", 
+      "src/core/lib/transport/chttp2/huffsyms.h", 
+      "src/core/lib/transport/chttp2/incoming_metadata.c", 
+      "src/core/lib/transport/chttp2/incoming_metadata.h", 
+      "src/core/lib/transport/chttp2/internal.h", 
+      "src/core/lib/transport/chttp2/parsing.c", 
+      "src/core/lib/transport/chttp2/status_conversion.c", 
+      "src/core/lib/transport/chttp2/status_conversion.h", 
+      "src/core/lib/transport/chttp2/stream_lists.c", 
+      "src/core/lib/transport/chttp2/stream_map.c", 
+      "src/core/lib/transport/chttp2/stream_map.h", 
+      "src/core/lib/transport/chttp2/timeout_encoding.c", 
+      "src/core/lib/transport/chttp2/timeout_encoding.h", 
+      "src/core/lib/transport/chttp2/varint.c", 
+      "src/core/lib/transport/chttp2/varint.h", 
+      "src/core/lib/transport/chttp2/writing.c", 
+      "src/core/lib/transport/chttp2_transport.c", 
+      "src/core/lib/transport/chttp2_transport.h", 
+      "src/core/lib/transport/connectivity_state.c", 
+      "src/core/lib/transport/connectivity_state.h", 
+      "src/core/lib/transport/metadata.c", 
+      "src/core/lib/transport/metadata.h", 
+      "src/core/lib/transport/metadata_batch.c", 
+      "src/core/lib/transport/metadata_batch.h", 
+      "src/core/lib/transport/static_metadata.c", 
+      "src/core/lib/transport/static_metadata.h", 
+      "src/core/lib/transport/transport.c", 
+      "src/core/lib/transport/transport.h", 
+      "src/core/lib/transport/transport_impl.h", 
+      "src/core/lib/transport/transport_op_string.c", 
+      "src/core/lib/tsi/fake_transport_security.c", 
+      "src/core/lib/tsi/fake_transport_security.h", 
+      "src/core/lib/tsi/ssl_transport_security.c", 
+      "src/core/lib/tsi/ssl_transport_security.h", 
+      "src/core/lib/tsi/ssl_types.h", 
+      "src/core/lib/tsi/transport_security.c", 
+      "src/core/lib/tsi/transport_security.h", 
+      "src/core/lib/tsi/transport_security_interface.h"
     ], 
     "third_party": false, 
     "type": "lib"
@@ -4552,129 +4552,129 @@
       "include/grpc/impl/codegen/propagation_bits.h", 
       "include/grpc/impl/codegen/status.h", 
       "include/grpc/status.h", 
-      "src/core/census/aggregation.h", 
-      "src/core/census/grpc_filter.h", 
-      "src/core/census/grpc_plugin.h", 
-      "src/core/census/mlog.h", 
-      "src/core/census/rpc_metric_id.h", 
-      "src/core/channel/channel_args.h", 
-      "src/core/channel/channel_stack.h", 
-      "src/core/channel/channel_stack_builder.h", 
-      "src/core/channel/client_channel.h", 
-      "src/core/channel/compress_filter.h", 
-      "src/core/channel/connected_channel.h", 
-      "src/core/channel/context.h", 
-      "src/core/channel/http_client_filter.h", 
-      "src/core/channel/http_server_filter.h", 
-      "src/core/channel/subchannel_call_holder.h", 
-      "src/core/client_config/client_config.h", 
-      "src/core/client_config/connector.h", 
-      "src/core/client_config/initial_connect_string.h", 
-      "src/core/client_config/lb_policies/load_balancer_api.h", 
-      "src/core/client_config/lb_policies/pick_first.h", 
-      "src/core/client_config/lb_policies/round_robin.h", 
-      "src/core/client_config/lb_policy.h", 
-      "src/core/client_config/lb_policy_factory.h", 
-      "src/core/client_config/lb_policy_registry.h", 
-      "src/core/client_config/resolver.h", 
-      "src/core/client_config/resolver_factory.h", 
-      "src/core/client_config/resolver_registry.h", 
-      "src/core/client_config/resolvers/dns_resolver.h", 
-      "src/core/client_config/resolvers/sockaddr_resolver.h", 
-      "src/core/client_config/subchannel.h", 
-      "src/core/client_config/subchannel_factory.h", 
-      "src/core/client_config/subchannel_index.h", 
-      "src/core/client_config/uri_parser.h", 
-      "src/core/compression/algorithm_metadata.h", 
-      "src/core/compression/message_compress.h", 
-      "src/core/debug/trace.h", 
-      "src/core/http/format_request.h", 
-      "src/core/http/httpcli.h", 
-      "src/core/http/parser.h", 
-      "src/core/iomgr/closure.h", 
-      "src/core/iomgr/endpoint.h", 
-      "src/core/iomgr/endpoint_pair.h", 
-      "src/core/iomgr/exec_ctx.h", 
-      "src/core/iomgr/executor.h", 
-      "src/core/iomgr/fd_posix.h", 
-      "src/core/iomgr/iocp_windows.h", 
-      "src/core/iomgr/iomgr.h", 
-      "src/core/iomgr/iomgr_internal.h", 
-      "src/core/iomgr/iomgr_posix.h", 
-      "src/core/iomgr/pollset.h", 
-      "src/core/iomgr/pollset_posix.h", 
-      "src/core/iomgr/pollset_set.h", 
-      "src/core/iomgr/pollset_set_posix.h", 
-      "src/core/iomgr/pollset_set_windows.h", 
-      "src/core/iomgr/pollset_windows.h", 
-      "src/core/iomgr/resolve_address.h", 
-      "src/core/iomgr/sockaddr.h", 
-      "src/core/iomgr/sockaddr_posix.h", 
-      "src/core/iomgr/sockaddr_utils.h", 
-      "src/core/iomgr/sockaddr_win32.h", 
-      "src/core/iomgr/socket_utils_posix.h", 
-      "src/core/iomgr/socket_windows.h", 
-      "src/core/iomgr/tcp_client.h", 
-      "src/core/iomgr/tcp_posix.h", 
-      "src/core/iomgr/tcp_server.h", 
-      "src/core/iomgr/tcp_windows.h", 
-      "src/core/iomgr/time_averaged_stats.h", 
-      "src/core/iomgr/timer.h", 
-      "src/core/iomgr/timer_heap.h", 
-      "src/core/iomgr/udp_server.h", 
-      "src/core/iomgr/unix_sockets_posix.h", 
-      "src/core/iomgr/wakeup_fd_pipe.h", 
-      "src/core/iomgr/wakeup_fd_posix.h", 
-      "src/core/iomgr/workqueue.h", 
-      "src/core/iomgr/workqueue_posix.h", 
-      "src/core/iomgr/workqueue_windows.h", 
-      "src/core/json/json.h", 
-      "src/core/json/json_common.h", 
-      "src/core/json/json_reader.h", 
-      "src/core/json/json_writer.h", 
-      "src/core/proto/grpc/lb/v0/load_balancer.pb.h", 
-      "src/core/statistics/census_interface.h", 
-      "src/core/statistics/census_rpc_stats.h", 
-      "src/core/surface/api_trace.h", 
-      "src/core/surface/call.h", 
-      "src/core/surface/call_test_only.h", 
-      "src/core/surface/channel.h", 
-      "src/core/surface/channel_init.h", 
-      "src/core/surface/channel_stack_type.h", 
-      "src/core/surface/completion_queue.h", 
-      "src/core/surface/event_string.h", 
-      "src/core/surface/init.h", 
-      "src/core/surface/lame_client.h", 
-      "src/core/surface/server.h", 
-      "src/core/surface/surface_trace.h", 
-      "src/core/transport/byte_stream.h", 
-      "src/core/transport/chttp2/alpn.h", 
-      "src/core/transport/chttp2/bin_encoder.h", 
-      "src/core/transport/chttp2/frame.h", 
-      "src/core/transport/chttp2/frame_data.h", 
-      "src/core/transport/chttp2/frame_goaway.h", 
-      "src/core/transport/chttp2/frame_ping.h", 
-      "src/core/transport/chttp2/frame_rst_stream.h", 
-      "src/core/transport/chttp2/frame_settings.h", 
-      "src/core/transport/chttp2/frame_window_update.h", 
-      "src/core/transport/chttp2/hpack_encoder.h", 
-      "src/core/transport/chttp2/hpack_parser.h", 
-      "src/core/transport/chttp2/hpack_table.h", 
-      "src/core/transport/chttp2/http2_errors.h", 
-      "src/core/transport/chttp2/huffsyms.h", 
-      "src/core/transport/chttp2/incoming_metadata.h", 
-      "src/core/transport/chttp2/internal.h", 
-      "src/core/transport/chttp2/status_conversion.h", 
-      "src/core/transport/chttp2/stream_map.h", 
-      "src/core/transport/chttp2/timeout_encoding.h", 
-      "src/core/transport/chttp2/varint.h", 
-      "src/core/transport/chttp2_transport.h", 
-      "src/core/transport/connectivity_state.h", 
-      "src/core/transport/metadata.h", 
-      "src/core/transport/metadata_batch.h", 
-      "src/core/transport/static_metadata.h", 
-      "src/core/transport/transport.h", 
-      "src/core/transport/transport_impl.h", 
+      "src/core/lib/census/aggregation.h", 
+      "src/core/lib/census/grpc_filter.h", 
+      "src/core/lib/census/grpc_plugin.h", 
+      "src/core/lib/census/mlog.h", 
+      "src/core/lib/census/rpc_metric_id.h", 
+      "src/core/lib/channel/channel_args.h", 
+      "src/core/lib/channel/channel_stack.h", 
+      "src/core/lib/channel/channel_stack_builder.h", 
+      "src/core/lib/channel/client_channel.h", 
+      "src/core/lib/channel/compress_filter.h", 
+      "src/core/lib/channel/connected_channel.h", 
+      "src/core/lib/channel/context.h", 
+      "src/core/lib/channel/http_client_filter.h", 
+      "src/core/lib/channel/http_server_filter.h", 
+      "src/core/lib/channel/subchannel_call_holder.h", 
+      "src/core/lib/client_config/client_config.h", 
+      "src/core/lib/client_config/connector.h", 
+      "src/core/lib/client_config/initial_connect_string.h", 
+      "src/core/lib/client_config/lb_policies/load_balancer_api.h", 
+      "src/core/lib/client_config/lb_policies/pick_first.h", 
+      "src/core/lib/client_config/lb_policies/round_robin.h", 
+      "src/core/lib/client_config/lb_policy.h", 
+      "src/core/lib/client_config/lb_policy_factory.h", 
+      "src/core/lib/client_config/lb_policy_registry.h", 
+      "src/core/lib/client_config/resolver.h", 
+      "src/core/lib/client_config/resolver_factory.h", 
+      "src/core/lib/client_config/resolver_registry.h", 
+      "src/core/lib/client_config/resolvers/dns_resolver.h", 
+      "src/core/lib/client_config/resolvers/sockaddr_resolver.h", 
+      "src/core/lib/client_config/subchannel.h", 
+      "src/core/lib/client_config/subchannel_factory.h", 
+      "src/core/lib/client_config/subchannel_index.h", 
+      "src/core/lib/client_config/uri_parser.h", 
+      "src/core/lib/compression/algorithm_metadata.h", 
+      "src/core/lib/compression/message_compress.h", 
+      "src/core/lib/debug/trace.h", 
+      "src/core/lib/http/format_request.h", 
+      "src/core/lib/http/httpcli.h", 
+      "src/core/lib/http/parser.h", 
+      "src/core/lib/iomgr/closure.h", 
+      "src/core/lib/iomgr/endpoint.h", 
+      "src/core/lib/iomgr/endpoint_pair.h", 
+      "src/core/lib/iomgr/exec_ctx.h", 
+      "src/core/lib/iomgr/executor.h", 
+      "src/core/lib/iomgr/fd_posix.h", 
+      "src/core/lib/iomgr/iocp_windows.h", 
+      "src/core/lib/iomgr/iomgr.h", 
+      "src/core/lib/iomgr/iomgr_internal.h", 
+      "src/core/lib/iomgr/iomgr_posix.h", 
+      "src/core/lib/iomgr/pollset.h", 
+      "src/core/lib/iomgr/pollset_posix.h", 
+      "src/core/lib/iomgr/pollset_set.h", 
+      "src/core/lib/iomgr/pollset_set_posix.h", 
+      "src/core/lib/iomgr/pollset_set_windows.h", 
+      "src/core/lib/iomgr/pollset_windows.h", 
+      "src/core/lib/iomgr/resolve_address.h", 
+      "src/core/lib/iomgr/sockaddr.h", 
+      "src/core/lib/iomgr/sockaddr_posix.h", 
+      "src/core/lib/iomgr/sockaddr_utils.h", 
+      "src/core/lib/iomgr/sockaddr_win32.h", 
+      "src/core/lib/iomgr/socket_utils_posix.h", 
+      "src/core/lib/iomgr/socket_windows.h", 
+      "src/core/lib/iomgr/tcp_client.h", 
+      "src/core/lib/iomgr/tcp_posix.h", 
+      "src/core/lib/iomgr/tcp_server.h", 
+      "src/core/lib/iomgr/tcp_windows.h", 
+      "src/core/lib/iomgr/time_averaged_stats.h", 
+      "src/core/lib/iomgr/timer.h", 
+      "src/core/lib/iomgr/timer_heap.h", 
+      "src/core/lib/iomgr/udp_server.h", 
+      "src/core/lib/iomgr/unix_sockets_posix.h", 
+      "src/core/lib/iomgr/wakeup_fd_pipe.h", 
+      "src/core/lib/iomgr/wakeup_fd_posix.h", 
+      "src/core/lib/iomgr/workqueue.h", 
+      "src/core/lib/iomgr/workqueue_posix.h", 
+      "src/core/lib/iomgr/workqueue_windows.h", 
+      "src/core/lib/json/json.h", 
+      "src/core/lib/json/json_common.h", 
+      "src/core/lib/json/json_reader.h", 
+      "src/core/lib/json/json_writer.h", 
+      "src/core/lib/proto/grpc/lb/v0/load_balancer.pb.h", 
+      "src/core/lib/statistics/census_interface.h", 
+      "src/core/lib/statistics/census_rpc_stats.h", 
+      "src/core/lib/surface/api_trace.h", 
+      "src/core/lib/surface/call.h", 
+      "src/core/lib/surface/call_test_only.h", 
+      "src/core/lib/surface/channel.h", 
+      "src/core/lib/surface/channel_init.h", 
+      "src/core/lib/surface/channel_stack_type.h", 
+      "src/core/lib/surface/completion_queue.h", 
+      "src/core/lib/surface/event_string.h", 
+      "src/core/lib/surface/init.h", 
+      "src/core/lib/surface/lame_client.h", 
+      "src/core/lib/surface/server.h", 
+      "src/core/lib/surface/surface_trace.h", 
+      "src/core/lib/transport/byte_stream.h", 
+      "src/core/lib/transport/chttp2/alpn.h", 
+      "src/core/lib/transport/chttp2/bin_encoder.h", 
+      "src/core/lib/transport/chttp2/frame.h", 
+      "src/core/lib/transport/chttp2/frame_data.h", 
+      "src/core/lib/transport/chttp2/frame_goaway.h", 
+      "src/core/lib/transport/chttp2/frame_ping.h", 
+      "src/core/lib/transport/chttp2/frame_rst_stream.h", 
+      "src/core/lib/transport/chttp2/frame_settings.h", 
+      "src/core/lib/transport/chttp2/frame_window_update.h", 
+      "src/core/lib/transport/chttp2/hpack_encoder.h", 
+      "src/core/lib/transport/chttp2/hpack_parser.h", 
+      "src/core/lib/transport/chttp2/hpack_table.h", 
+      "src/core/lib/transport/chttp2/http2_errors.h", 
+      "src/core/lib/transport/chttp2/huffsyms.h", 
+      "src/core/lib/transport/chttp2/incoming_metadata.h", 
+      "src/core/lib/transport/chttp2/internal.h", 
+      "src/core/lib/transport/chttp2/status_conversion.h", 
+      "src/core/lib/transport/chttp2/stream_map.h", 
+      "src/core/lib/transport/chttp2/timeout_encoding.h", 
+      "src/core/lib/transport/chttp2/varint.h", 
+      "src/core/lib/transport/chttp2_transport.h", 
+      "src/core/lib/transport/connectivity_state.h", 
+      "src/core/lib/transport/metadata.h", 
+      "src/core/lib/transport/metadata_batch.h", 
+      "src/core/lib/transport/static_metadata.h", 
+      "src/core/lib/transport/transport.h", 
+      "src/core/lib/transport/transport_impl.h", 
       "third_party/nanopb/pb.h", 
       "third_party/nanopb/pb_common.h", 
       "third_party/nanopb/pb_decode.h", 
@@ -4695,270 +4695,270 @@
       "include/grpc/impl/codegen/propagation_bits.h", 
       "include/grpc/impl/codegen/status.h", 
       "include/grpc/status.h", 
-      "src/core/census/aggregation.h", 
-      "src/core/census/context.c", 
-      "src/core/census/grpc_context.c", 
-      "src/core/census/grpc_filter.c", 
-      "src/core/census/grpc_filter.h", 
-      "src/core/census/grpc_plugin.c", 
-      "src/core/census/grpc_plugin.h", 
-      "src/core/census/initialize.c", 
-      "src/core/census/mlog.c", 
-      "src/core/census/mlog.h", 
-      "src/core/census/operation.c", 
-      "src/core/census/placeholders.c", 
-      "src/core/census/rpc_metric_id.h", 
-      "src/core/census/tracing.c", 
-      "src/core/channel/channel_args.c", 
-      "src/core/channel/channel_args.h", 
-      "src/core/channel/channel_stack.c", 
-      "src/core/channel/channel_stack.h", 
-      "src/core/channel/channel_stack_builder.c", 
-      "src/core/channel/channel_stack_builder.h", 
-      "src/core/channel/client_channel.c", 
-      "src/core/channel/client_channel.h", 
-      "src/core/channel/compress_filter.c", 
-      "src/core/channel/compress_filter.h", 
-      "src/core/channel/connected_channel.c", 
-      "src/core/channel/connected_channel.h", 
-      "src/core/channel/context.h", 
-      "src/core/channel/http_client_filter.c", 
-      "src/core/channel/http_client_filter.h", 
-      "src/core/channel/http_server_filter.c", 
-      "src/core/channel/http_server_filter.h", 
-      "src/core/channel/subchannel_call_holder.c", 
-      "src/core/channel/subchannel_call_holder.h", 
-      "src/core/client_config/client_config.c", 
-      "src/core/client_config/client_config.h", 
-      "src/core/client_config/connector.c", 
-      "src/core/client_config/connector.h", 
-      "src/core/client_config/default_initial_connect_string.c", 
-      "src/core/client_config/initial_connect_string.c", 
-      "src/core/client_config/initial_connect_string.h", 
-      "src/core/client_config/lb_policies/load_balancer_api.c", 
-      "src/core/client_config/lb_policies/load_balancer_api.h", 
-      "src/core/client_config/lb_policies/pick_first.c", 
-      "src/core/client_config/lb_policies/pick_first.h", 
-      "src/core/client_config/lb_policies/round_robin.c", 
-      "src/core/client_config/lb_policies/round_robin.h", 
-      "src/core/client_config/lb_policy.c", 
-      "src/core/client_config/lb_policy.h", 
-      "src/core/client_config/lb_policy_factory.c", 
-      "src/core/client_config/lb_policy_factory.h", 
-      "src/core/client_config/lb_policy_registry.c", 
-      "src/core/client_config/lb_policy_registry.h", 
-      "src/core/client_config/resolver.c", 
-      "src/core/client_config/resolver.h", 
-      "src/core/client_config/resolver_factory.c", 
-      "src/core/client_config/resolver_factory.h", 
-      "src/core/client_config/resolver_registry.c", 
-      "src/core/client_config/resolver_registry.h", 
-      "src/core/client_config/resolvers/dns_resolver.c", 
-      "src/core/client_config/resolvers/dns_resolver.h", 
-      "src/core/client_config/resolvers/sockaddr_resolver.c", 
-      "src/core/client_config/resolvers/sockaddr_resolver.h", 
-      "src/core/client_config/subchannel.c", 
-      "src/core/client_config/subchannel.h", 
-      "src/core/client_config/subchannel_factory.c", 
-      "src/core/client_config/subchannel_factory.h", 
-      "src/core/client_config/subchannel_index.c", 
-      "src/core/client_config/subchannel_index.h", 
-      "src/core/client_config/uri_parser.c", 
-      "src/core/client_config/uri_parser.h", 
-      "src/core/compression/algorithm_metadata.h", 
-      "src/core/compression/compression_algorithm.c", 
-      "src/core/compression/message_compress.c", 
-      "src/core/compression/message_compress.h", 
-      "src/core/debug/trace.c", 
-      "src/core/debug/trace.h", 
-      "src/core/http/format_request.c", 
-      "src/core/http/format_request.h", 
-      "src/core/http/httpcli.c", 
-      "src/core/http/httpcli.h", 
-      "src/core/http/parser.c", 
-      "src/core/http/parser.h", 
-      "src/core/iomgr/closure.c", 
-      "src/core/iomgr/closure.h", 
-      "src/core/iomgr/endpoint.c", 
-      "src/core/iomgr/endpoint.h", 
-      "src/core/iomgr/endpoint_pair.h", 
-      "src/core/iomgr/endpoint_pair_posix.c", 
-      "src/core/iomgr/endpoint_pair_windows.c", 
-      "src/core/iomgr/exec_ctx.c", 
-      "src/core/iomgr/exec_ctx.h", 
-      "src/core/iomgr/executor.c", 
-      "src/core/iomgr/executor.h", 
-      "src/core/iomgr/fd_posix.c", 
-      "src/core/iomgr/fd_posix.h", 
-      "src/core/iomgr/iocp_windows.c", 
-      "src/core/iomgr/iocp_windows.h", 
-      "src/core/iomgr/iomgr.c", 
-      "src/core/iomgr/iomgr.h", 
-      "src/core/iomgr/iomgr_internal.h", 
-      "src/core/iomgr/iomgr_posix.c", 
-      "src/core/iomgr/iomgr_posix.h", 
-      "src/core/iomgr/iomgr_windows.c", 
-      "src/core/iomgr/pollset.h", 
-      "src/core/iomgr/pollset_multipoller_with_epoll.c", 
-      "src/core/iomgr/pollset_multipoller_with_poll_posix.c", 
-      "src/core/iomgr/pollset_posix.c", 
-      "src/core/iomgr/pollset_posix.h", 
-      "src/core/iomgr/pollset_set.h", 
-      "src/core/iomgr/pollset_set_posix.c", 
-      "src/core/iomgr/pollset_set_posix.h", 
-      "src/core/iomgr/pollset_set_windows.c", 
-      "src/core/iomgr/pollset_set_windows.h", 
-      "src/core/iomgr/pollset_windows.c", 
-      "src/core/iomgr/pollset_windows.h", 
-      "src/core/iomgr/resolve_address.h", 
-      "src/core/iomgr/resolve_address_posix.c", 
-      "src/core/iomgr/resolve_address_windows.c", 
-      "src/core/iomgr/sockaddr.h", 
-      "src/core/iomgr/sockaddr_posix.h", 
-      "src/core/iomgr/sockaddr_utils.c", 
-      "src/core/iomgr/sockaddr_utils.h", 
-      "src/core/iomgr/sockaddr_win32.h", 
-      "src/core/iomgr/socket_utils_common_posix.c", 
-      "src/core/iomgr/socket_utils_linux.c", 
-      "src/core/iomgr/socket_utils_posix.c", 
-      "src/core/iomgr/socket_utils_posix.h", 
-      "src/core/iomgr/socket_windows.c", 
-      "src/core/iomgr/socket_windows.h", 
-      "src/core/iomgr/tcp_client.h", 
-      "src/core/iomgr/tcp_client_posix.c", 
-      "src/core/iomgr/tcp_client_windows.c", 
-      "src/core/iomgr/tcp_posix.c", 
-      "src/core/iomgr/tcp_posix.h", 
-      "src/core/iomgr/tcp_server.h", 
-      "src/core/iomgr/tcp_server_posix.c", 
-      "src/core/iomgr/tcp_server_windows.c", 
-      "src/core/iomgr/tcp_windows.c", 
-      "src/core/iomgr/tcp_windows.h", 
-      "src/core/iomgr/time_averaged_stats.c", 
-      "src/core/iomgr/time_averaged_stats.h", 
-      "src/core/iomgr/timer.c", 
-      "src/core/iomgr/timer.h", 
-      "src/core/iomgr/timer_heap.c", 
-      "src/core/iomgr/timer_heap.h", 
-      "src/core/iomgr/udp_server.c", 
-      "src/core/iomgr/udp_server.h", 
-      "src/core/iomgr/unix_sockets_posix.c", 
-      "src/core/iomgr/unix_sockets_posix.h", 
-      "src/core/iomgr/unix_sockets_posix_noop.c", 
-      "src/core/iomgr/wakeup_fd_eventfd.c", 
-      "src/core/iomgr/wakeup_fd_nospecial.c", 
-      "src/core/iomgr/wakeup_fd_pipe.c", 
-      "src/core/iomgr/wakeup_fd_pipe.h", 
-      "src/core/iomgr/wakeup_fd_posix.c", 
-      "src/core/iomgr/wakeup_fd_posix.h", 
-      "src/core/iomgr/workqueue.h", 
-      "src/core/iomgr/workqueue_posix.c", 
-      "src/core/iomgr/workqueue_posix.h", 
-      "src/core/iomgr/workqueue_windows.c", 
-      "src/core/iomgr/workqueue_windows.h", 
-      "src/core/json/json.c", 
-      "src/core/json/json.h", 
-      "src/core/json/json_common.h", 
-      "src/core/json/json_reader.c", 
-      "src/core/json/json_reader.h", 
-      "src/core/json/json_string.c", 
-      "src/core/json/json_writer.c", 
-      "src/core/json/json_writer.h", 
-      "src/core/proto/grpc/lb/v0/load_balancer.pb.c", 
-      "src/core/proto/grpc/lb/v0/load_balancer.pb.h", 
-      "src/core/statistics/census_interface.h", 
-      "src/core/statistics/census_rpc_stats.h", 
-      "src/core/surface/alarm.c", 
-      "src/core/surface/api_trace.c", 
-      "src/core/surface/api_trace.h", 
-      "src/core/surface/byte_buffer.c", 
-      "src/core/surface/byte_buffer_reader.c", 
-      "src/core/surface/call.c", 
-      "src/core/surface/call.h", 
-      "src/core/surface/call_details.c", 
-      "src/core/surface/call_log_batch.c", 
-      "src/core/surface/call_test_only.h", 
-      "src/core/surface/channel.c", 
-      "src/core/surface/channel.h", 
-      "src/core/surface/channel_connectivity.c", 
-      "src/core/surface/channel_create.c", 
-      "src/core/surface/channel_init.c", 
-      "src/core/surface/channel_init.h", 
-      "src/core/surface/channel_ping.c", 
-      "src/core/surface/channel_stack_type.c", 
-      "src/core/surface/channel_stack_type.h", 
-      "src/core/surface/completion_queue.c", 
-      "src/core/surface/completion_queue.h", 
-      "src/core/surface/event_string.c", 
-      "src/core/surface/event_string.h", 
-      "src/core/surface/init.c", 
-      "src/core/surface/init.h", 
-      "src/core/surface/init_unsecure.c", 
-      "src/core/surface/lame_client.c", 
-      "src/core/surface/lame_client.h", 
-      "src/core/surface/metadata_array.c", 
-      "src/core/surface/server.c", 
-      "src/core/surface/server.h", 
-      "src/core/surface/server_chttp2.c", 
-      "src/core/surface/surface_trace.h", 
-      "src/core/surface/validate_metadata.c", 
-      "src/core/surface/version.c", 
-      "src/core/transport/byte_stream.c", 
-      "src/core/transport/byte_stream.h", 
-      "src/core/transport/chttp2/alpn.c", 
-      "src/core/transport/chttp2/alpn.h", 
-      "src/core/transport/chttp2/bin_encoder.c", 
-      "src/core/transport/chttp2/bin_encoder.h", 
-      "src/core/transport/chttp2/frame.h", 
-      "src/core/transport/chttp2/frame_data.c", 
-      "src/core/transport/chttp2/frame_data.h", 
-      "src/core/transport/chttp2/frame_goaway.c", 
-      "src/core/transport/chttp2/frame_goaway.h", 
-      "src/core/transport/chttp2/frame_ping.c", 
-      "src/core/transport/chttp2/frame_ping.h", 
-      "src/core/transport/chttp2/frame_rst_stream.c", 
-      "src/core/transport/chttp2/frame_rst_stream.h", 
-      "src/core/transport/chttp2/frame_settings.c", 
-      "src/core/transport/chttp2/frame_settings.h", 
-      "src/core/transport/chttp2/frame_window_update.c", 
-      "src/core/transport/chttp2/frame_window_update.h", 
-      "src/core/transport/chttp2/hpack_encoder.c", 
-      "src/core/transport/chttp2/hpack_encoder.h", 
-      "src/core/transport/chttp2/hpack_parser.c", 
-      "src/core/transport/chttp2/hpack_parser.h", 
-      "src/core/transport/chttp2/hpack_table.c", 
-      "src/core/transport/chttp2/hpack_table.h", 
-      "src/core/transport/chttp2/http2_errors.h", 
-      "src/core/transport/chttp2/huffsyms.c", 
-      "src/core/transport/chttp2/huffsyms.h", 
-      "src/core/transport/chttp2/incoming_metadata.c", 
-      "src/core/transport/chttp2/incoming_metadata.h", 
-      "src/core/transport/chttp2/internal.h", 
-      "src/core/transport/chttp2/parsing.c", 
-      "src/core/transport/chttp2/status_conversion.c", 
-      "src/core/transport/chttp2/status_conversion.h", 
-      "src/core/transport/chttp2/stream_lists.c", 
-      "src/core/transport/chttp2/stream_map.c", 
-      "src/core/transport/chttp2/stream_map.h", 
-      "src/core/transport/chttp2/timeout_encoding.c", 
-      "src/core/transport/chttp2/timeout_encoding.h", 
-      "src/core/transport/chttp2/varint.c", 
-      "src/core/transport/chttp2/varint.h", 
-      "src/core/transport/chttp2/writing.c", 
-      "src/core/transport/chttp2_transport.c", 
-      "src/core/transport/chttp2_transport.h", 
-      "src/core/transport/connectivity_state.c", 
-      "src/core/transport/connectivity_state.h", 
-      "src/core/transport/metadata.c", 
-      "src/core/transport/metadata.h", 
-      "src/core/transport/metadata_batch.c", 
-      "src/core/transport/metadata_batch.h", 
-      "src/core/transport/static_metadata.c", 
-      "src/core/transport/static_metadata.h", 
-      "src/core/transport/transport.c", 
-      "src/core/transport/transport.h", 
-      "src/core/transport/transport_impl.h", 
-      "src/core/transport/transport_op_string.c"
+      "src/core/lib/census/aggregation.h", 
+      "src/core/lib/census/context.c", 
+      "src/core/lib/census/grpc_context.c", 
+      "src/core/lib/census/grpc_filter.c", 
+      "src/core/lib/census/grpc_filter.h", 
+      "src/core/lib/census/grpc_plugin.c", 
+      "src/core/lib/census/grpc_plugin.h", 
+      "src/core/lib/census/initialize.c", 
+      "src/core/lib/census/mlog.c", 
+      "src/core/lib/census/mlog.h", 
+      "src/core/lib/census/operation.c", 
+      "src/core/lib/census/placeholders.c", 
+      "src/core/lib/census/rpc_metric_id.h", 
+      "src/core/lib/census/tracing.c", 
+      "src/core/lib/channel/channel_args.c", 
+      "src/core/lib/channel/channel_args.h", 
+      "src/core/lib/channel/channel_stack.c", 
+      "src/core/lib/channel/channel_stack.h", 
+      "src/core/lib/channel/channel_stack_builder.c", 
+      "src/core/lib/channel/channel_stack_builder.h", 
+      "src/core/lib/channel/client_channel.c", 
+      "src/core/lib/channel/client_channel.h", 
+      "src/core/lib/channel/compress_filter.c", 
+      "src/core/lib/channel/compress_filter.h", 
+      "src/core/lib/channel/connected_channel.c", 
+      "src/core/lib/channel/connected_channel.h", 
+      "src/core/lib/channel/context.h", 
+      "src/core/lib/channel/http_client_filter.c", 
+      "src/core/lib/channel/http_client_filter.h", 
+      "src/core/lib/channel/http_server_filter.c", 
+      "src/core/lib/channel/http_server_filter.h", 
+      "src/core/lib/channel/subchannel_call_holder.c", 
+      "src/core/lib/channel/subchannel_call_holder.h", 
+      "src/core/lib/client_config/client_config.c", 
+      "src/core/lib/client_config/client_config.h", 
+      "src/core/lib/client_config/connector.c", 
+      "src/core/lib/client_config/connector.h", 
+      "src/core/lib/client_config/default_initial_connect_string.c", 
+      "src/core/lib/client_config/initial_connect_string.c", 
+      "src/core/lib/client_config/initial_connect_string.h", 
+      "src/core/lib/client_config/lb_policies/load_balancer_api.c", 
+      "src/core/lib/client_config/lb_policies/load_balancer_api.h", 
+      "src/core/lib/client_config/lb_policies/pick_first.c", 
+      "src/core/lib/client_config/lb_policies/pick_first.h", 
+      "src/core/lib/client_config/lb_policies/round_robin.c", 
+      "src/core/lib/client_config/lb_policies/round_robin.h", 
+      "src/core/lib/client_config/lb_policy.c", 
+      "src/core/lib/client_config/lb_policy.h", 
+      "src/core/lib/client_config/lb_policy_factory.c", 
+      "src/core/lib/client_config/lb_policy_factory.h", 
+      "src/core/lib/client_config/lb_policy_registry.c", 
+      "src/core/lib/client_config/lb_policy_registry.h", 
+      "src/core/lib/client_config/resolver.c", 
+      "src/core/lib/client_config/resolver.h", 
+      "src/core/lib/client_config/resolver_factory.c", 
+      "src/core/lib/client_config/resolver_factory.h", 
+      "src/core/lib/client_config/resolver_registry.c", 
+      "src/core/lib/client_config/resolver_registry.h", 
+      "src/core/lib/client_config/resolvers/dns_resolver.c", 
+      "src/core/lib/client_config/resolvers/dns_resolver.h", 
+      "src/core/lib/client_config/resolvers/sockaddr_resolver.c", 
+      "src/core/lib/client_config/resolvers/sockaddr_resolver.h", 
+      "src/core/lib/client_config/subchannel.c", 
+      "src/core/lib/client_config/subchannel.h", 
+      "src/core/lib/client_config/subchannel_factory.c", 
+      "src/core/lib/client_config/subchannel_factory.h", 
+      "src/core/lib/client_config/subchannel_index.c", 
+      "src/core/lib/client_config/subchannel_index.h", 
+      "src/core/lib/client_config/uri_parser.c", 
+      "src/core/lib/client_config/uri_parser.h", 
+      "src/core/lib/compression/algorithm_metadata.h", 
+      "src/core/lib/compression/compression_algorithm.c", 
+      "src/core/lib/compression/message_compress.c", 
+      "src/core/lib/compression/message_compress.h", 
+      "src/core/lib/debug/trace.c", 
+      "src/core/lib/debug/trace.h", 
+      "src/core/lib/http/format_request.c", 
+      "src/core/lib/http/format_request.h", 
+      "src/core/lib/http/httpcli.c", 
+      "src/core/lib/http/httpcli.h", 
+      "src/core/lib/http/parser.c", 
+      "src/core/lib/http/parser.h", 
+      "src/core/lib/iomgr/closure.c", 
+      "src/core/lib/iomgr/closure.h", 
+      "src/core/lib/iomgr/endpoint.c", 
+      "src/core/lib/iomgr/endpoint.h", 
+      "src/core/lib/iomgr/endpoint_pair.h", 
+      "src/core/lib/iomgr/endpoint_pair_posix.c", 
+      "src/core/lib/iomgr/endpoint_pair_windows.c", 
+      "src/core/lib/iomgr/exec_ctx.c", 
+      "src/core/lib/iomgr/exec_ctx.h", 
+      "src/core/lib/iomgr/executor.c", 
+      "src/core/lib/iomgr/executor.h", 
+      "src/core/lib/iomgr/fd_posix.c", 
+      "src/core/lib/iomgr/fd_posix.h", 
+      "src/core/lib/iomgr/iocp_windows.c", 
+      "src/core/lib/iomgr/iocp_windows.h", 
+      "src/core/lib/iomgr/iomgr.c", 
+      "src/core/lib/iomgr/iomgr.h", 
+      "src/core/lib/iomgr/iomgr_internal.h", 
+      "src/core/lib/iomgr/iomgr_posix.c", 
+      "src/core/lib/iomgr/iomgr_posix.h", 
+      "src/core/lib/iomgr/iomgr_windows.c", 
+      "src/core/lib/iomgr/pollset.h", 
+      "src/core/lib/iomgr/pollset_multipoller_with_epoll.c", 
+      "src/core/lib/iomgr/pollset_multipoller_with_poll_posix.c", 
+      "src/core/lib/iomgr/pollset_posix.c", 
+      "src/core/lib/iomgr/pollset_posix.h", 
+      "src/core/lib/iomgr/pollset_set.h", 
+      "src/core/lib/iomgr/pollset_set_posix.c", 
+      "src/core/lib/iomgr/pollset_set_posix.h", 
+      "src/core/lib/iomgr/pollset_set_windows.c", 
+      "src/core/lib/iomgr/pollset_set_windows.h", 
+      "src/core/lib/iomgr/pollset_windows.c", 
+      "src/core/lib/iomgr/pollset_windows.h", 
+      "src/core/lib/iomgr/resolve_address.h", 
+      "src/core/lib/iomgr/resolve_address_posix.c", 
+      "src/core/lib/iomgr/resolve_address_windows.c", 
+      "src/core/lib/iomgr/sockaddr.h", 
+      "src/core/lib/iomgr/sockaddr_posix.h", 
+      "src/core/lib/iomgr/sockaddr_utils.c", 
+      "src/core/lib/iomgr/sockaddr_utils.h", 
+      "src/core/lib/iomgr/sockaddr_win32.h", 
+      "src/core/lib/iomgr/socket_utils_common_posix.c", 
+      "src/core/lib/iomgr/socket_utils_linux.c", 
+      "src/core/lib/iomgr/socket_utils_posix.c", 
+      "src/core/lib/iomgr/socket_utils_posix.h", 
+      "src/core/lib/iomgr/socket_windows.c", 
+      "src/core/lib/iomgr/socket_windows.h", 
+      "src/core/lib/iomgr/tcp_client.h", 
+      "src/core/lib/iomgr/tcp_client_posix.c", 
+      "src/core/lib/iomgr/tcp_client_windows.c", 
+      "src/core/lib/iomgr/tcp_posix.c", 
+      "src/core/lib/iomgr/tcp_posix.h", 
+      "src/core/lib/iomgr/tcp_server.h", 
+      "src/core/lib/iomgr/tcp_server_posix.c", 
+      "src/core/lib/iomgr/tcp_server_windows.c", 
+      "src/core/lib/iomgr/tcp_windows.c", 
+      "src/core/lib/iomgr/tcp_windows.h", 
+      "src/core/lib/iomgr/time_averaged_stats.c", 
+      "src/core/lib/iomgr/time_averaged_stats.h", 
+      "src/core/lib/iomgr/timer.c", 
+      "src/core/lib/iomgr/timer.h", 
+      "src/core/lib/iomgr/timer_heap.c", 
+      "src/core/lib/iomgr/timer_heap.h", 
+      "src/core/lib/iomgr/udp_server.c", 
+      "src/core/lib/iomgr/udp_server.h", 
+      "src/core/lib/iomgr/unix_sockets_posix.c", 
+      "src/core/lib/iomgr/unix_sockets_posix.h", 
+      "src/core/lib/iomgr/unix_sockets_posix_noop.c", 
+      "src/core/lib/iomgr/wakeup_fd_eventfd.c", 
+      "src/core/lib/iomgr/wakeup_fd_nospecial.c", 
+      "src/core/lib/iomgr/wakeup_fd_pipe.c", 
+      "src/core/lib/iomgr/wakeup_fd_pipe.h", 
+      "src/core/lib/iomgr/wakeup_fd_posix.c", 
+      "src/core/lib/iomgr/wakeup_fd_posix.h", 
+      "src/core/lib/iomgr/workqueue.h", 
+      "src/core/lib/iomgr/workqueue_posix.c", 
+      "src/core/lib/iomgr/workqueue_posix.h", 
+      "src/core/lib/iomgr/workqueue_windows.c", 
+      "src/core/lib/iomgr/workqueue_windows.h", 
+      "src/core/lib/json/json.c", 
+      "src/core/lib/json/json.h", 
+      "src/core/lib/json/json_common.h", 
+      "src/core/lib/json/json_reader.c", 
+      "src/core/lib/json/json_reader.h", 
+      "src/core/lib/json/json_string.c", 
+      "src/core/lib/json/json_writer.c", 
+      "src/core/lib/json/json_writer.h", 
+      "src/core/lib/proto/grpc/lb/v0/load_balancer.pb.c", 
+      "src/core/lib/proto/grpc/lb/v0/load_balancer.pb.h", 
+      "src/core/lib/statistics/census_interface.h", 
+      "src/core/lib/statistics/census_rpc_stats.h", 
+      "src/core/lib/surface/alarm.c", 
+      "src/core/lib/surface/api_trace.c", 
+      "src/core/lib/surface/api_trace.h", 
+      "src/core/lib/surface/byte_buffer.c", 
+      "src/core/lib/surface/byte_buffer_reader.c", 
+      "src/core/lib/surface/call.c", 
+      "src/core/lib/surface/call.h", 
+      "src/core/lib/surface/call_details.c", 
+      "src/core/lib/surface/call_log_batch.c", 
+      "src/core/lib/surface/call_test_only.h", 
+      "src/core/lib/surface/channel.c", 
+      "src/core/lib/surface/channel.h", 
+      "src/core/lib/surface/channel_connectivity.c", 
+      "src/core/lib/surface/channel_create.c", 
+      "src/core/lib/surface/channel_init.c", 
+      "src/core/lib/surface/channel_init.h", 
+      "src/core/lib/surface/channel_ping.c", 
+      "src/core/lib/surface/channel_stack_type.c", 
+      "src/core/lib/surface/channel_stack_type.h", 
+      "src/core/lib/surface/completion_queue.c", 
+      "src/core/lib/surface/completion_queue.h", 
+      "src/core/lib/surface/event_string.c", 
+      "src/core/lib/surface/event_string.h", 
+      "src/core/lib/surface/init.c", 
+      "src/core/lib/surface/init.h", 
+      "src/core/lib/surface/init_unsecure.c", 
+      "src/core/lib/surface/lame_client.c", 
+      "src/core/lib/surface/lame_client.h", 
+      "src/core/lib/surface/metadata_array.c", 
+      "src/core/lib/surface/server.c", 
+      "src/core/lib/surface/server.h", 
+      "src/core/lib/surface/server_chttp2.c", 
+      "src/core/lib/surface/surface_trace.h", 
+      "src/core/lib/surface/validate_metadata.c", 
+      "src/core/lib/surface/version.c", 
+      "src/core/lib/transport/byte_stream.c", 
+      "src/core/lib/transport/byte_stream.h", 
+      "src/core/lib/transport/chttp2/alpn.c", 
+      "src/core/lib/transport/chttp2/alpn.h", 
+      "src/core/lib/transport/chttp2/bin_encoder.c", 
+      "src/core/lib/transport/chttp2/bin_encoder.h", 
+      "src/core/lib/transport/chttp2/frame.h", 
+      "src/core/lib/transport/chttp2/frame_data.c", 
+      "src/core/lib/transport/chttp2/frame_data.h", 
+      "src/core/lib/transport/chttp2/frame_goaway.c", 
+      "src/core/lib/transport/chttp2/frame_goaway.h", 
+      "src/core/lib/transport/chttp2/frame_ping.c", 
+      "src/core/lib/transport/chttp2/frame_ping.h", 
+      "src/core/lib/transport/chttp2/frame_rst_stream.c", 
+      "src/core/lib/transport/chttp2/frame_rst_stream.h", 
+      "src/core/lib/transport/chttp2/frame_settings.c", 
+      "src/core/lib/transport/chttp2/frame_settings.h", 
+      "src/core/lib/transport/chttp2/frame_window_update.c", 
+      "src/core/lib/transport/chttp2/frame_window_update.h", 
+      "src/core/lib/transport/chttp2/hpack_encoder.c", 
+      "src/core/lib/transport/chttp2/hpack_encoder.h", 
+      "src/core/lib/transport/chttp2/hpack_parser.c", 
+      "src/core/lib/transport/chttp2/hpack_parser.h", 
+      "src/core/lib/transport/chttp2/hpack_table.c", 
+      "src/core/lib/transport/chttp2/hpack_table.h", 
+      "src/core/lib/transport/chttp2/http2_errors.h", 
+      "src/core/lib/transport/chttp2/huffsyms.c", 
+      "src/core/lib/transport/chttp2/huffsyms.h", 
+      "src/core/lib/transport/chttp2/incoming_metadata.c", 
+      "src/core/lib/transport/chttp2/incoming_metadata.h", 
+      "src/core/lib/transport/chttp2/internal.h", 
+      "src/core/lib/transport/chttp2/parsing.c", 
+      "src/core/lib/transport/chttp2/status_conversion.c", 
+      "src/core/lib/transport/chttp2/status_conversion.h", 
+      "src/core/lib/transport/chttp2/stream_lists.c", 
+      "src/core/lib/transport/chttp2/stream_map.c", 
+      "src/core/lib/transport/chttp2/stream_map.h", 
+      "src/core/lib/transport/chttp2/timeout_encoding.c", 
+      "src/core/lib/transport/chttp2/timeout_encoding.h", 
+      "src/core/lib/transport/chttp2/varint.c", 
+      "src/core/lib/transport/chttp2/varint.h", 
+      "src/core/lib/transport/chttp2/writing.c", 
+      "src/core/lib/transport/chttp2_transport.c", 
+      "src/core/lib/transport/chttp2_transport.h", 
+      "src/core/lib/transport/connectivity_state.c", 
+      "src/core/lib/transport/connectivity_state.h", 
+      "src/core/lib/transport/metadata.c", 
+      "src/core/lib/transport/metadata.h", 
+      "src/core/lib/transport/metadata_batch.c", 
+      "src/core/lib/transport/metadata_batch.h", 
+      "src/core/lib/transport/static_metadata.c", 
+      "src/core/lib/transport/static_metadata.h", 
+      "src/core/lib/transport/transport.c", 
+      "src/core/lib/transport/transport.h", 
+      "src/core/lib/transport/transport_impl.h", 
+      "src/core/lib/transport/transport_op_string.c"
     ], 
     "third_party": false, 
     "type": "lib"
@@ -4970,14 +4970,14 @@
     ], 
     "headers": [
       "include/grpc/grpc_zookeeper.h", 
-      "src/core/client_config/resolvers/zookeeper_resolver.h"
+      "src/core/lib/client_config/resolvers/zookeeper_resolver.h"
     ], 
     "language": "c", 
     "name": "grpc_zookeeper", 
     "src": [
       "include/grpc/grpc_zookeeper.h", 
-      "src/core/client_config/resolvers/zookeeper_resolver.c", 
-      "src/core/client_config/resolvers/zookeeper_resolver.h"
+      "src/core/lib/client_config/resolvers/zookeeper_resolver.c", 
+      "src/core/lib/client_config/resolvers/zookeeper_resolver.h"
     ], 
     "third_party": false, 
     "type": "lib"
diff --git a/vsprojects/vcxproj/gpr/gpr.vcxproj b/vsprojects/vcxproj/gpr/gpr.vcxproj
index 9281fa3..cdb128e 100644
--- a/vsprojects/vcxproj/gpr/gpr.vcxproj
+++ b/vsprojects/vcxproj/gpr/gpr.vcxproj
@@ -191,107 +191,107 @@
     <ClInclude Include="$(SolutionDir)\..\include\grpc\impl\codegen\time.h" />
   </ItemGroup>
   <ItemGroup>
-    <ClInclude Include="$(SolutionDir)\..\src\core\profiling\timers.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\support\backoff.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\support\block_annotate.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\support\env.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\support\load_file.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\support\murmur_hash.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\support\stack_lockfree.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\support\string.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\support\string_win32.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\support\thd_internal.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\support\time_precise.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\support\tmpfile.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\profiling\timers.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\backoff.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\block_annotate.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\env.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\load_file.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\murmur_hash.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\stack_lockfree.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\string.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\string_win32.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\thd_internal.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\time_precise.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\tmpfile.h" />
   </ItemGroup>
   <ItemGroup>
-    <ClCompile Include="$(SolutionDir)\..\src\core\profiling\basic_timers.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\profiling\basic_timers.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\profiling\stap_timers.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\profiling\stap_timers.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\alloc.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\alloc.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\avl.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\avl.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\backoff.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\backoff.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\cmdline.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\cmdline.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\cpu_iphone.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\cpu_iphone.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\cpu_linux.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\cpu_linux.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\cpu_posix.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\cpu_posix.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\cpu_windows.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\cpu_windows.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\env_linux.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\env_linux.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\env_posix.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\env_posix.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\env_win32.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\env_win32.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\histogram.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\histogram.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\host_port.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\host_port.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\load_file.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\load_file.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\log.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\log.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\log_android.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\log_android.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\log_linux.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\log_linux.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\log_posix.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\log_posix.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\log_win32.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\log_win32.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\murmur_hash.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\murmur_hash.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\slice.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\slice.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\slice_buffer.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\slice_buffer.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\stack_lockfree.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\stack_lockfree.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\string.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\string.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\string_posix.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\string_posix.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\string_win32.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\string_win32.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\subprocess_posix.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\subprocess_posix.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\subprocess_windows.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\subprocess_windows.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\sync.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\sync.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\sync_posix.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\sync_posix.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\sync_win32.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\sync_win32.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\thd.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\thd.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\thd_posix.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\thd_posix.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\thd_win32.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\thd_win32.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\time.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\time.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\time_posix.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\time_posix.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\time_precise.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\time_precise.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\time_win32.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\time_win32.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\tls_pthread.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\tls_pthread.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\tmpfile_posix.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\tmpfile_posix.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\tmpfile_win32.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\tmpfile_win32.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\wrap_memcpy.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\wrap_memcpy.c">
     </ClCompile>
   </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
diff --git a/vsprojects/vcxproj/gpr/gpr.vcxproj.filters b/vsprojects/vcxproj/gpr/gpr.vcxproj.filters
index b85060f..8af6fdd 100644
--- a/vsprojects/vcxproj/gpr/gpr.vcxproj.filters
+++ b/vsprojects/vcxproj/gpr/gpr.vcxproj.filters
@@ -1,137 +1,137 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <ItemGroup>
-    <ClCompile Include="$(SolutionDir)\..\src\core\profiling\basic_timers.c">
-      <Filter>src\core\profiling</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\profiling\basic_timers.c">
+      <Filter>src\core\lib\profiling</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\profiling\stap_timers.c">
-      <Filter>src\core\profiling</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\profiling\stap_timers.c">
+      <Filter>src\core\lib\profiling</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\alloc.c">
-      <Filter>src\core\support</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\alloc.c">
+      <Filter>src\core\lib\support</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\avl.c">
-      <Filter>src\core\support</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\avl.c">
+      <Filter>src\core\lib\support</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\backoff.c">
-      <Filter>src\core\support</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\backoff.c">
+      <Filter>src\core\lib\support</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\cmdline.c">
-      <Filter>src\core\support</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\cmdline.c">
+      <Filter>src\core\lib\support</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\cpu_iphone.c">
-      <Filter>src\core\support</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\cpu_iphone.c">
+      <Filter>src\core\lib\support</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\cpu_linux.c">
-      <Filter>src\core\support</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\cpu_linux.c">
+      <Filter>src\core\lib\support</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\cpu_posix.c">
-      <Filter>src\core\support</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\cpu_posix.c">
+      <Filter>src\core\lib\support</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\cpu_windows.c">
-      <Filter>src\core\support</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\cpu_windows.c">
+      <Filter>src\core\lib\support</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\env_linux.c">
-      <Filter>src\core\support</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\env_linux.c">
+      <Filter>src\core\lib\support</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\env_posix.c">
-      <Filter>src\core\support</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\env_posix.c">
+      <Filter>src\core\lib\support</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\env_win32.c">
-      <Filter>src\core\support</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\env_win32.c">
+      <Filter>src\core\lib\support</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\histogram.c">
-      <Filter>src\core\support</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\histogram.c">
+      <Filter>src\core\lib\support</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\host_port.c">
-      <Filter>src\core\support</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\host_port.c">
+      <Filter>src\core\lib\support</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\load_file.c">
-      <Filter>src\core\support</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\load_file.c">
+      <Filter>src\core\lib\support</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\log.c">
-      <Filter>src\core\support</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\log.c">
+      <Filter>src\core\lib\support</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\log_android.c">
-      <Filter>src\core\support</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\log_android.c">
+      <Filter>src\core\lib\support</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\log_linux.c">
-      <Filter>src\core\support</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\log_linux.c">
+      <Filter>src\core\lib\support</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\log_posix.c">
-      <Filter>src\core\support</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\log_posix.c">
+      <Filter>src\core\lib\support</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\log_win32.c">
-      <Filter>src\core\support</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\log_win32.c">
+      <Filter>src\core\lib\support</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\murmur_hash.c">
-      <Filter>src\core\support</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\murmur_hash.c">
+      <Filter>src\core\lib\support</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\slice.c">
-      <Filter>src\core\support</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\slice.c">
+      <Filter>src\core\lib\support</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\slice_buffer.c">
-      <Filter>src\core\support</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\slice_buffer.c">
+      <Filter>src\core\lib\support</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\stack_lockfree.c">
-      <Filter>src\core\support</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\stack_lockfree.c">
+      <Filter>src\core\lib\support</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\string.c">
-      <Filter>src\core\support</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\string.c">
+      <Filter>src\core\lib\support</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\string_posix.c">
-      <Filter>src\core\support</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\string_posix.c">
+      <Filter>src\core\lib\support</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\string_win32.c">
-      <Filter>src\core\support</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\string_win32.c">
+      <Filter>src\core\lib\support</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\subprocess_posix.c">
-      <Filter>src\core\support</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\subprocess_posix.c">
+      <Filter>src\core\lib\support</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\subprocess_windows.c">
-      <Filter>src\core\support</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\subprocess_windows.c">
+      <Filter>src\core\lib\support</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\sync.c">
-      <Filter>src\core\support</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\sync.c">
+      <Filter>src\core\lib\support</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\sync_posix.c">
-      <Filter>src\core\support</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\sync_posix.c">
+      <Filter>src\core\lib\support</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\sync_win32.c">
-      <Filter>src\core\support</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\sync_win32.c">
+      <Filter>src\core\lib\support</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\thd.c">
-      <Filter>src\core\support</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\thd.c">
+      <Filter>src\core\lib\support</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\thd_posix.c">
-      <Filter>src\core\support</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\thd_posix.c">
+      <Filter>src\core\lib\support</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\thd_win32.c">
-      <Filter>src\core\support</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\thd_win32.c">
+      <Filter>src\core\lib\support</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\time.c">
-      <Filter>src\core\support</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\time.c">
+      <Filter>src\core\lib\support</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\time_posix.c">
-      <Filter>src\core\support</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\time_posix.c">
+      <Filter>src\core\lib\support</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\time_precise.c">
-      <Filter>src\core\support</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\time_precise.c">
+      <Filter>src\core\lib\support</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\time_win32.c">
-      <Filter>src\core\support</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\time_win32.c">
+      <Filter>src\core\lib\support</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\tls_pthread.c">
-      <Filter>src\core\support</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\tls_pthread.c">
+      <Filter>src\core\lib\support</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\tmpfile_posix.c">
-      <Filter>src\core\support</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\tmpfile_posix.c">
+      <Filter>src\core\lib\support</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\tmpfile_win32.c">
-      <Filter>src\core\support</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\tmpfile_win32.c">
+      <Filter>src\core\lib\support</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\support\wrap_memcpy.c">
-      <Filter>src\core\support</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\support\wrap_memcpy.c">
+      <Filter>src\core\lib\support</Filter>
     </ClCompile>
   </ItemGroup>
   <ItemGroup>
@@ -263,41 +263,41 @@
     </ClInclude>
   </ItemGroup>
   <ItemGroup>
-    <ClInclude Include="$(SolutionDir)\..\src\core\profiling\timers.h">
-      <Filter>src\core\profiling</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\profiling\timers.h">
+      <Filter>src\core\lib\profiling</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\support\backoff.h">
-      <Filter>src\core\support</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\backoff.h">
+      <Filter>src\core\lib\support</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\support\block_annotate.h">
-      <Filter>src\core\support</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\block_annotate.h">
+      <Filter>src\core\lib\support</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\support\env.h">
-      <Filter>src\core\support</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\env.h">
+      <Filter>src\core\lib\support</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\support\load_file.h">
-      <Filter>src\core\support</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\load_file.h">
+      <Filter>src\core\lib\support</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\support\murmur_hash.h">
-      <Filter>src\core\support</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\murmur_hash.h">
+      <Filter>src\core\lib\support</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\support\stack_lockfree.h">
-      <Filter>src\core\support</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\stack_lockfree.h">
+      <Filter>src\core\lib\support</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\support\string.h">
-      <Filter>src\core\support</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\string.h">
+      <Filter>src\core\lib\support</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\support\string_win32.h">
-      <Filter>src\core\support</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\string_win32.h">
+      <Filter>src\core\lib\support</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\support\thd_internal.h">
-      <Filter>src\core\support</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\thd_internal.h">
+      <Filter>src\core\lib\support</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\support\time_precise.h">
-      <Filter>src\core\support</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\time_precise.h">
+      <Filter>src\core\lib\support</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\support\tmpfile.h">
-      <Filter>src\core\support</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\support\tmpfile.h">
+      <Filter>src\core\lib\support</Filter>
     </ClInclude>
   </ItemGroup>
 
@@ -323,11 +323,14 @@
     <Filter Include="src\core">
       <UniqueIdentifier>{c5e1baa7-de77-beb1-9675-942261648f79}</UniqueIdentifier>
     </Filter>
-    <Filter Include="src\core\profiling">
-      <UniqueIdentifier>{93b7086c-8c8a-6bbf-fb14-1f166bf0146a}</UniqueIdentifier>
+    <Filter Include="src\core\lib">
+      <UniqueIdentifier>{52037bcb-5719-a548-224d-834fbe569045}</UniqueIdentifier>
     </Filter>
-    <Filter Include="src\core\support">
-      <UniqueIdentifier>{bb116f2a-ea2a-c233-82da-0c54e3cbfec1}</UniqueIdentifier>
+    <Filter Include="src\core\lib\profiling">
+      <UniqueIdentifier>{ba38d79d-d5de-a89e-9ca2-c5235a03ca7f}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="src\core\lib\support">
+      <UniqueIdentifier>{a4812158-7fba-959e-4e09-50167fe38df8}</UniqueIdentifier>
     </Filter>
   </ItemGroup>
 </Project>
diff --git a/vsprojects/vcxproj/grpc/grpc.vcxproj b/vsprojects/vcxproj/grpc/grpc.vcxproj
index ebc3674..b09abb2 100644
--- a/vsprojects/vcxproj/grpc/grpc.vcxproj
+++ b/vsprojects/vcxproj/grpc/grpc.vcxproj
@@ -282,470 +282,470 @@
     <ClInclude Include="$(SolutionDir)\..\include\grpc\census.h" />
   </ItemGroup>
   <ItemGroup>
-    <ClInclude Include="$(SolutionDir)\..\src\core\census\grpc_filter.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\census\grpc_plugin.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\channel\channel_args.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\channel\channel_stack.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\channel\channel_stack_builder.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\channel\client_channel.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\channel\compress_filter.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\channel\connected_channel.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\channel\context.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\channel\http_client_filter.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\channel\http_server_filter.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\channel\subchannel_call_holder.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\client_config.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\connector.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\initial_connect_string.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\lb_policies\load_balancer_api.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\lb_policies\pick_first.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\lb_policies\round_robin.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\lb_policy.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\lb_policy_factory.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\lb_policy_registry.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\resolver.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\resolver_factory.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\resolver_registry.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\resolvers\dns_resolver.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\resolvers\sockaddr_resolver.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\subchannel.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\subchannel_factory.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\subchannel_index.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\uri_parser.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\compression\algorithm_metadata.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\compression\message_compress.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\debug\trace.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\http\format_request.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\http\httpcli.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\http\parser.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\closure.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\endpoint.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\endpoint_pair.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\exec_ctx.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\executor.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\fd_posix.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\iocp_windows.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\iomgr.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\iomgr_internal.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\iomgr_posix.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\pollset.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\pollset_posix.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\pollset_set.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\pollset_set_posix.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\pollset_set_windows.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\pollset_windows.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\resolve_address.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\sockaddr.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\sockaddr_posix.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\sockaddr_utils.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\sockaddr_win32.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\socket_utils_posix.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\socket_windows.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\tcp_client.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\tcp_posix.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\tcp_server.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\tcp_windows.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\time_averaged_stats.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\timer.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\timer_heap.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\udp_server.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\unix_sockets_posix.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\wakeup_fd_pipe.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\wakeup_fd_posix.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\workqueue.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\workqueue_posix.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\workqueue_windows.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\json\json.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\json\json_common.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\json\json_reader.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\json\json_writer.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\proto\grpc\lb\v0\load_balancer.pb.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\statistics\census_interface.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\statistics\census_rpc_stats.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\surface\api_trace.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\surface\call.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\surface\call_test_only.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\surface\channel.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\surface\channel_init.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\surface\channel_stack_type.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\surface\completion_queue.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\surface\event_string.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\surface\init.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\surface\lame_client.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\surface\server.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\surface\surface_trace.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\byte_stream.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\alpn.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\bin_encoder.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\frame.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\frame_data.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\frame_goaway.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\frame_ping.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\frame_rst_stream.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\frame_settings.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\frame_window_update.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\hpack_encoder.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\hpack_parser.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\hpack_table.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\http2_errors.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\huffsyms.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\incoming_metadata.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\internal.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\status_conversion.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\stream_map.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\timeout_encoding.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\varint.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2_transport.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\connectivity_state.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\metadata.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\metadata_batch.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\static_metadata.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\transport.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\transport_impl.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\security\auth_filters.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\security\b64.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\security\credentials.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\security\handshake.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\security\json_token.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\security\jwt_verifier.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\security\secure_endpoint.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\security\security_connector.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\security\security_context.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\tsi\fake_transport_security.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\tsi\ssl_transport_security.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\tsi\ssl_types.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\tsi\transport_security.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\tsi\transport_security_interface.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\census\aggregation.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\census\mlog.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\census\rpc_metric_id.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\census\grpc_filter.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\census\grpc_plugin.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\channel_args.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack_builder.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\client_channel.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\compress_filter.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\connected_channel.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\context.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\http_client_filter.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\http_server_filter.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\subchannel_call_holder.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\client_config.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\connector.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\initial_connect_string.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policies\load_balancer_api.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policies\pick_first.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policies\round_robin.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policy.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policy_factory.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policy_registry.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\resolver.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\resolver_factory.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\resolver_registry.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\resolvers\dns_resolver.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\resolvers\sockaddr_resolver.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\subchannel.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\subchannel_factory.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\subchannel_index.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\uri_parser.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\compression\algorithm_metadata.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\compression\message_compress.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\debug\trace.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\http\format_request.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\http\httpcli.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\http\parser.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\closure.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint_pair.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\exec_ctx.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\executor.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\fd_posix.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iocp_windows.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_internal.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_posix.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_posix.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set_posix.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set_windows.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_windows.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\resolve_address.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr_posix.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr_utils.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr_win32.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_posix.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_windows.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_posix.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_windows.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\time_averaged_stats.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\timer.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_heap.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\udp_server.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\unix_sockets_posix.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_pipe.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_posix.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\workqueue.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\workqueue_posix.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\workqueue_windows.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json_common.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json_reader.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json_writer.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\proto\grpc\lb\v0\load_balancer.pb.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\statistics\census_interface.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\statistics\census_rpc_stats.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\api_trace.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\call.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\call_test_only.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\channel.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\channel_init.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\channel_stack_type.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\completion_queue.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\event_string.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\init.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\lame_client.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\server.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\surface_trace.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\byte_stream.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\alpn.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\bin_encoder.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\frame.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\frame_data.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\frame_goaway.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\frame_ping.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\frame_rst_stream.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\frame_settings.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\frame_window_update.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\hpack_encoder.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\hpack_parser.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\hpack_table.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\http2_errors.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\huffsyms.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\incoming_metadata.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\internal.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\status_conversion.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\stream_map.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\timeout_encoding.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\varint.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2_transport.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\connectivity_state.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\metadata.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\metadata_batch.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\static_metadata.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\transport.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\transport_impl.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\auth_filters.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\b64.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\credentials.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\handshake.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\json_token.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\jwt_verifier.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\secure_endpoint.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\security_connector.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\security_context.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\tsi\fake_transport_security.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\tsi\ssl_transport_security.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\tsi\ssl_types.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\tsi\transport_security.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\tsi\transport_security_interface.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\census\aggregation.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\census\mlog.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\census\rpc_metric_id.h" />
     <ClInclude Include="$(SolutionDir)\..\third_party\nanopb\pb.h" />
     <ClInclude Include="$(SolutionDir)\..\third_party\nanopb\pb_common.h" />
     <ClInclude Include="$(SolutionDir)\..\third_party\nanopb\pb_decode.h" />
     <ClInclude Include="$(SolutionDir)\..\third_party\nanopb\pb_encode.h" />
   </ItemGroup>
   <ItemGroup>
-    <ClCompile Include="$(SolutionDir)\..\src\core\census\grpc_context.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\grpc_context.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\census\grpc_filter.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\grpc_filter.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\census\grpc_plugin.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\grpc_plugin.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\channel\channel_args.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\channel_args.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\channel\channel_stack.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\channel\channel_stack_builder.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack_builder.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\channel\client_channel.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\client_channel.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\channel\compress_filter.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\compress_filter.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\channel\connected_channel.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\connected_channel.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\channel\http_client_filter.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\http_client_filter.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\channel\http_server_filter.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\http_server_filter.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\channel\subchannel_call_holder.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\subchannel_call_holder.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\client_config.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\client_config.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\connector.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\connector.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\default_initial_connect_string.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\default_initial_connect_string.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\initial_connect_string.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\initial_connect_string.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\lb_policies\load_balancer_api.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policies\load_balancer_api.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\lb_policies\pick_first.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policies\pick_first.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\lb_policies\round_robin.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policies\round_robin.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\lb_policy.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policy.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\lb_policy_factory.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policy_factory.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\lb_policy_registry.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policy_registry.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\resolver.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\resolver.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\resolver_factory.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\resolver_factory.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\resolver_registry.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\resolver_registry.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\resolvers\dns_resolver.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\resolvers\dns_resolver.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\resolvers\sockaddr_resolver.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\resolvers\sockaddr_resolver.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\subchannel.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\subchannel.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\subchannel_factory.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\subchannel_factory.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\subchannel_index.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\subchannel_index.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\uri_parser.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\uri_parser.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\compression\compression_algorithm.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\compression\compression_algorithm.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\compression\message_compress.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\compression\message_compress.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\debug\trace.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\debug\trace.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\http\format_request.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\http\format_request.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\http\httpcli.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\http\httpcli.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\http\parser.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\http\parser.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\closure.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\closure.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\endpoint.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\endpoint_pair_posix.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint_pair_posix.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\endpoint_pair_windows.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint_pair_windows.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\exec_ctx.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\exec_ctx.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\executor.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\executor.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\fd_posix.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\fd_posix.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\iocp_windows.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iocp_windows.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\iomgr.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\iomgr_posix.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_posix.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\iomgr_windows.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_windows.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\pollset_multipoller_with_epoll.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_multipoller_with_epoll.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\pollset_multipoller_with_poll_posix.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_multipoller_with_poll_posix.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\pollset_posix.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_posix.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\pollset_set_posix.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set_posix.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\pollset_set_windows.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set_windows.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\pollset_windows.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_windows.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\resolve_address_posix.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\resolve_address_posix.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\resolve_address_windows.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\resolve_address_windows.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\sockaddr_utils.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr_utils.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\socket_utils_common_posix.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_common_posix.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\socket_utils_linux.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_linux.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\socket_utils_posix.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_posix.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\socket_windows.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_windows.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\tcp_client_posix.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client_posix.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\tcp_client_windows.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client_windows.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\tcp_posix.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_posix.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\tcp_server_posix.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_posix.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\tcp_server_windows.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_windows.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\tcp_windows.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_windows.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\time_averaged_stats.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\time_averaged_stats.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\timer.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\timer.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\timer_heap.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_heap.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\udp_server.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\udp_server.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\unix_sockets_posix.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\unix_sockets_posix.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\unix_sockets_posix_noop.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\unix_sockets_posix_noop.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\wakeup_fd_eventfd.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_eventfd.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\wakeup_fd_nospecial.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_nospecial.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\wakeup_fd_pipe.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_pipe.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\wakeup_fd_posix.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_posix.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\workqueue_posix.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\workqueue_posix.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\workqueue_windows.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\workqueue_windows.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\json\json.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\json\json.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\json\json_reader.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\json\json_reader.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\json\json_string.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\json\json_string.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\json\json_writer.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\json\json_writer.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\proto\grpc\lb\v0\load_balancer.pb.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\proto\grpc\lb\v0\load_balancer.pb.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\alarm.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\alarm.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\api_trace.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\api_trace.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\byte_buffer.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\byte_buffer.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\byte_buffer_reader.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\byte_buffer_reader.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\call.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\call.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\call_details.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\call_details.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\call_log_batch.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\call_log_batch.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\channel.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\channel_connectivity.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel_connectivity.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\channel_create.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel_create.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\channel_init.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel_init.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\channel_ping.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel_ping.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\channel_stack_type.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel_stack_type.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\completion_queue.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\completion_queue.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\event_string.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\event_string.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\init.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\init.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\lame_client.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\lame_client.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\metadata_array.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\metadata_array.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\server.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\server.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\server_chttp2.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\server_chttp2.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\validate_metadata.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\validate_metadata.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\version.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\version.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\byte_stream.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\byte_stream.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\alpn.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\alpn.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\bin_encoder.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\bin_encoder.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\frame_data.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\frame_data.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\frame_goaway.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\frame_goaway.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\frame_ping.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\frame_ping.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\frame_rst_stream.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\frame_rst_stream.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\frame_settings.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\frame_settings.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\frame_window_update.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\frame_window_update.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\hpack_encoder.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\hpack_encoder.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\hpack_parser.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\hpack_parser.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\hpack_table.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\hpack_table.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\huffsyms.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\huffsyms.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\incoming_metadata.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\incoming_metadata.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\parsing.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\parsing.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\status_conversion.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\status_conversion.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\stream_lists.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\stream_lists.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\stream_map.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\stream_map.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\timeout_encoding.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\timeout_encoding.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\varint.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\varint.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\writing.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\writing.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2_transport.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2_transport.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\connectivity_state.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\connectivity_state.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\metadata.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\metadata.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\metadata_batch.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\metadata_batch.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\static_metadata.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\static_metadata.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\transport.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\transport.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\transport_op_string.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\transport_op_string.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\http\httpcli_security_connector.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\http\httpcli_security_connector.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\security\b64.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\b64.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\security\client_auth_filter.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\client_auth_filter.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\security\credentials.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\credentials.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\security\credentials_metadata.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\credentials_metadata.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\security\credentials_posix.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\credentials_posix.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\security\credentials_win32.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\credentials_win32.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\security\google_default_credentials.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\google_default_credentials.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\security\handshake.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\handshake.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\security\json_token.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\json_token.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\security\jwt_verifier.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\jwt_verifier.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\security\secure_endpoint.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\secure_endpoint.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\security\security_connector.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\security_connector.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\security\security_context.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\security_context.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\security\server_auth_filter.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\server_auth_filter.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\security\server_secure_chttp2.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\server_secure_chttp2.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\init_secure.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\init_secure.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\secure_channel_create.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\secure_channel_create.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\tsi\fake_transport_security.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\tsi\fake_transport_security.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\tsi\ssl_transport_security.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\tsi\ssl_transport_security.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\tsi\transport_security.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\tsi\transport_security.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\census\context.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\context.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\census\initialize.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\initialize.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\census\mlog.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\mlog.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\census\operation.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\operation.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\census\placeholders.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\placeholders.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\census\tracing.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\tracing.c">
     </ClCompile>
     <ClCompile Include="$(SolutionDir)\..\third_party\nanopb\pb_common.c">
     </ClCompile>
diff --git a/vsprojects/vcxproj/grpc/grpc.vcxproj.filters b/vsprojects/vcxproj/grpc/grpc.vcxproj.filters
index e5bff0e..81136eb 100644
--- a/vsprojects/vcxproj/grpc/grpc.vcxproj.filters
+++ b/vsprojects/vcxproj/grpc/grpc.vcxproj.filters
@@ -1,488 +1,488 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <ItemGroup>
-    <ClCompile Include="$(SolutionDir)\..\src\core\census\grpc_context.c">
-      <Filter>src\core\census</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\grpc_context.c">
+      <Filter>src\core\lib\census</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\census\grpc_filter.c">
-      <Filter>src\core\census</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\grpc_filter.c">
+      <Filter>src\core\lib\census</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\census\grpc_plugin.c">
-      <Filter>src\core\census</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\grpc_plugin.c">
+      <Filter>src\core\lib\census</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\channel\channel_args.c">
-      <Filter>src\core\channel</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\channel_args.c">
+      <Filter>src\core\lib\channel</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\channel\channel_stack.c">
-      <Filter>src\core\channel</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack.c">
+      <Filter>src\core\lib\channel</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\channel\channel_stack_builder.c">
-      <Filter>src\core\channel</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack_builder.c">
+      <Filter>src\core\lib\channel</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\channel\client_channel.c">
-      <Filter>src\core\channel</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\client_channel.c">
+      <Filter>src\core\lib\channel</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\channel\compress_filter.c">
-      <Filter>src\core\channel</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\compress_filter.c">
+      <Filter>src\core\lib\channel</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\channel\connected_channel.c">
-      <Filter>src\core\channel</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\connected_channel.c">
+      <Filter>src\core\lib\channel</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\channel\http_client_filter.c">
-      <Filter>src\core\channel</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\http_client_filter.c">
+      <Filter>src\core\lib\channel</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\channel\http_server_filter.c">
-      <Filter>src\core\channel</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\http_server_filter.c">
+      <Filter>src\core\lib\channel</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\channel\subchannel_call_holder.c">
-      <Filter>src\core\channel</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\subchannel_call_holder.c">
+      <Filter>src\core\lib\channel</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\client_config.c">
-      <Filter>src\core\client_config</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\client_config.c">
+      <Filter>src\core\lib\client_config</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\connector.c">
-      <Filter>src\core\client_config</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\connector.c">
+      <Filter>src\core\lib\client_config</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\default_initial_connect_string.c">
-      <Filter>src\core\client_config</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\default_initial_connect_string.c">
+      <Filter>src\core\lib\client_config</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\initial_connect_string.c">
-      <Filter>src\core\client_config</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\initial_connect_string.c">
+      <Filter>src\core\lib\client_config</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\lb_policies\load_balancer_api.c">
-      <Filter>src\core\client_config\lb_policies</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policies\load_balancer_api.c">
+      <Filter>src\core\lib\client_config\lb_policies</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\lb_policies\pick_first.c">
-      <Filter>src\core\client_config\lb_policies</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policies\pick_first.c">
+      <Filter>src\core\lib\client_config\lb_policies</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\lb_policies\round_robin.c">
-      <Filter>src\core\client_config\lb_policies</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policies\round_robin.c">
+      <Filter>src\core\lib\client_config\lb_policies</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\lb_policy.c">
-      <Filter>src\core\client_config</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policy.c">
+      <Filter>src\core\lib\client_config</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\lb_policy_factory.c">
-      <Filter>src\core\client_config</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policy_factory.c">
+      <Filter>src\core\lib\client_config</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\lb_policy_registry.c">
-      <Filter>src\core\client_config</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policy_registry.c">
+      <Filter>src\core\lib\client_config</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\resolver.c">
-      <Filter>src\core\client_config</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\resolver.c">
+      <Filter>src\core\lib\client_config</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\resolver_factory.c">
-      <Filter>src\core\client_config</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\resolver_factory.c">
+      <Filter>src\core\lib\client_config</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\resolver_registry.c">
-      <Filter>src\core\client_config</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\resolver_registry.c">
+      <Filter>src\core\lib\client_config</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\resolvers\dns_resolver.c">
-      <Filter>src\core\client_config\resolvers</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\resolvers\dns_resolver.c">
+      <Filter>src\core\lib\client_config\resolvers</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\resolvers\sockaddr_resolver.c">
-      <Filter>src\core\client_config\resolvers</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\resolvers\sockaddr_resolver.c">
+      <Filter>src\core\lib\client_config\resolvers</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\subchannel.c">
-      <Filter>src\core\client_config</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\subchannel.c">
+      <Filter>src\core\lib\client_config</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\subchannel_factory.c">
-      <Filter>src\core\client_config</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\subchannel_factory.c">
+      <Filter>src\core\lib\client_config</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\subchannel_index.c">
-      <Filter>src\core\client_config</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\subchannel_index.c">
+      <Filter>src\core\lib\client_config</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\uri_parser.c">
-      <Filter>src\core\client_config</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\uri_parser.c">
+      <Filter>src\core\lib\client_config</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\compression\compression_algorithm.c">
-      <Filter>src\core\compression</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\compression\compression_algorithm.c">
+      <Filter>src\core\lib\compression</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\compression\message_compress.c">
-      <Filter>src\core\compression</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\compression\message_compress.c">
+      <Filter>src\core\lib\compression</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\debug\trace.c">
-      <Filter>src\core\debug</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\debug\trace.c">
+      <Filter>src\core\lib\debug</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\http\format_request.c">
-      <Filter>src\core\http</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\http\format_request.c">
+      <Filter>src\core\lib\http</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\http\httpcli.c">
-      <Filter>src\core\http</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\http\httpcli.c">
+      <Filter>src\core\lib\http</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\http\parser.c">
-      <Filter>src\core\http</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\http\parser.c">
+      <Filter>src\core\lib\http</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\closure.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\closure.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\endpoint.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\endpoint_pair_posix.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint_pair_posix.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\endpoint_pair_windows.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint_pair_windows.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\exec_ctx.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\exec_ctx.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\executor.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\executor.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\fd_posix.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\fd_posix.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\iocp_windows.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iocp_windows.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\iomgr.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\iomgr_posix.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_posix.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\iomgr_windows.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_windows.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\pollset_multipoller_with_epoll.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_multipoller_with_epoll.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\pollset_multipoller_with_poll_posix.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_multipoller_with_poll_posix.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\pollset_posix.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_posix.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\pollset_set_posix.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set_posix.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\pollset_set_windows.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set_windows.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\pollset_windows.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_windows.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\resolve_address_posix.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\resolve_address_posix.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\resolve_address_windows.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\resolve_address_windows.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\sockaddr_utils.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr_utils.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\socket_utils_common_posix.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_common_posix.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\socket_utils_linux.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_linux.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\socket_utils_posix.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_posix.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\socket_windows.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_windows.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\tcp_client_posix.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client_posix.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\tcp_client_windows.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client_windows.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\tcp_posix.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_posix.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\tcp_server_posix.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_posix.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\tcp_server_windows.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_windows.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\tcp_windows.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_windows.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\time_averaged_stats.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\time_averaged_stats.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\timer.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\timer.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\timer_heap.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_heap.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\udp_server.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\udp_server.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\unix_sockets_posix.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\unix_sockets_posix.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\unix_sockets_posix_noop.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\unix_sockets_posix_noop.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\wakeup_fd_eventfd.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_eventfd.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\wakeup_fd_nospecial.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_nospecial.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\wakeup_fd_pipe.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_pipe.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\wakeup_fd_posix.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_posix.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\workqueue_posix.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\workqueue_posix.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\workqueue_windows.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\workqueue_windows.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\json\json.c">
-      <Filter>src\core\json</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\json\json.c">
+      <Filter>src\core\lib\json</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\json\json_reader.c">
-      <Filter>src\core\json</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\json\json_reader.c">
+      <Filter>src\core\lib\json</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\json\json_string.c">
-      <Filter>src\core\json</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\json\json_string.c">
+      <Filter>src\core\lib\json</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\json\json_writer.c">
-      <Filter>src\core\json</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\json\json_writer.c">
+      <Filter>src\core\lib\json</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\proto\grpc\lb\v0\load_balancer.pb.c">
-      <Filter>src\core\proto\grpc\lb\v0</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\proto\grpc\lb\v0\load_balancer.pb.c">
+      <Filter>src\core\lib\proto\grpc\lb\v0</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\alarm.c">
-      <Filter>src\core\surface</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\alarm.c">
+      <Filter>src\core\lib\surface</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\api_trace.c">
-      <Filter>src\core\surface</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\api_trace.c">
+      <Filter>src\core\lib\surface</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\byte_buffer.c">
-      <Filter>src\core\surface</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\byte_buffer.c">
+      <Filter>src\core\lib\surface</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\byte_buffer_reader.c">
-      <Filter>src\core\surface</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\byte_buffer_reader.c">
+      <Filter>src\core\lib\surface</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\call.c">
-      <Filter>src\core\surface</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\call.c">
+      <Filter>src\core\lib\surface</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\call_details.c">
-      <Filter>src\core\surface</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\call_details.c">
+      <Filter>src\core\lib\surface</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\call_log_batch.c">
-      <Filter>src\core\surface</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\call_log_batch.c">
+      <Filter>src\core\lib\surface</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\channel.c">
-      <Filter>src\core\surface</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel.c">
+      <Filter>src\core\lib\surface</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\channel_connectivity.c">
-      <Filter>src\core\surface</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel_connectivity.c">
+      <Filter>src\core\lib\surface</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\channel_create.c">
-      <Filter>src\core\surface</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel_create.c">
+      <Filter>src\core\lib\surface</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\channel_init.c">
-      <Filter>src\core\surface</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel_init.c">
+      <Filter>src\core\lib\surface</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\channel_ping.c">
-      <Filter>src\core\surface</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel_ping.c">
+      <Filter>src\core\lib\surface</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\channel_stack_type.c">
-      <Filter>src\core\surface</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel_stack_type.c">
+      <Filter>src\core\lib\surface</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\completion_queue.c">
-      <Filter>src\core\surface</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\completion_queue.c">
+      <Filter>src\core\lib\surface</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\event_string.c">
-      <Filter>src\core\surface</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\event_string.c">
+      <Filter>src\core\lib\surface</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\init.c">
-      <Filter>src\core\surface</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\init.c">
+      <Filter>src\core\lib\surface</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\lame_client.c">
-      <Filter>src\core\surface</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\lame_client.c">
+      <Filter>src\core\lib\surface</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\metadata_array.c">
-      <Filter>src\core\surface</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\metadata_array.c">
+      <Filter>src\core\lib\surface</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\server.c">
-      <Filter>src\core\surface</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\server.c">
+      <Filter>src\core\lib\surface</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\server_chttp2.c">
-      <Filter>src\core\surface</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\server_chttp2.c">
+      <Filter>src\core\lib\surface</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\validate_metadata.c">
-      <Filter>src\core\surface</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\validate_metadata.c">
+      <Filter>src\core\lib\surface</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\version.c">
-      <Filter>src\core\surface</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\version.c">
+      <Filter>src\core\lib\surface</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\byte_stream.c">
-      <Filter>src\core\transport</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\byte_stream.c">
+      <Filter>src\core\lib\transport</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\alpn.c">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\alpn.c">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\bin_encoder.c">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\bin_encoder.c">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\frame_data.c">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\frame_data.c">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\frame_goaway.c">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\frame_goaway.c">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\frame_ping.c">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\frame_ping.c">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\frame_rst_stream.c">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\frame_rst_stream.c">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\frame_settings.c">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\frame_settings.c">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\frame_window_update.c">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\frame_window_update.c">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\hpack_encoder.c">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\hpack_encoder.c">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\hpack_parser.c">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\hpack_parser.c">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\hpack_table.c">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\hpack_table.c">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\huffsyms.c">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\huffsyms.c">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\incoming_metadata.c">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\incoming_metadata.c">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\parsing.c">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\parsing.c">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\status_conversion.c">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\status_conversion.c">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\stream_lists.c">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\stream_lists.c">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\stream_map.c">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\stream_map.c">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\timeout_encoding.c">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\timeout_encoding.c">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\varint.c">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\varint.c">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\writing.c">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\writing.c">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2_transport.c">
-      <Filter>src\core\transport</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2_transport.c">
+      <Filter>src\core\lib\transport</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\connectivity_state.c">
-      <Filter>src\core\transport</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\connectivity_state.c">
+      <Filter>src\core\lib\transport</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\metadata.c">
-      <Filter>src\core\transport</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\metadata.c">
+      <Filter>src\core\lib\transport</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\metadata_batch.c">
-      <Filter>src\core\transport</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\metadata_batch.c">
+      <Filter>src\core\lib\transport</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\static_metadata.c">
-      <Filter>src\core\transport</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\static_metadata.c">
+      <Filter>src\core\lib\transport</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\transport.c">
-      <Filter>src\core\transport</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\transport.c">
+      <Filter>src\core\lib\transport</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\transport_op_string.c">
-      <Filter>src\core\transport</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\transport_op_string.c">
+      <Filter>src\core\lib\transport</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\http\httpcli_security_connector.c">
-      <Filter>src\core\http</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\http\httpcli_security_connector.c">
+      <Filter>src\core\lib\http</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\security\b64.c">
-      <Filter>src\core\security</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\b64.c">
+      <Filter>src\core\lib\security</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\security\client_auth_filter.c">
-      <Filter>src\core\security</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\client_auth_filter.c">
+      <Filter>src\core\lib\security</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\security\credentials.c">
-      <Filter>src\core\security</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\credentials.c">
+      <Filter>src\core\lib\security</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\security\credentials_metadata.c">
-      <Filter>src\core\security</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\credentials_metadata.c">
+      <Filter>src\core\lib\security</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\security\credentials_posix.c">
-      <Filter>src\core\security</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\credentials_posix.c">
+      <Filter>src\core\lib\security</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\security\credentials_win32.c">
-      <Filter>src\core\security</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\credentials_win32.c">
+      <Filter>src\core\lib\security</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\security\google_default_credentials.c">
-      <Filter>src\core\security</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\google_default_credentials.c">
+      <Filter>src\core\lib\security</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\security\handshake.c">
-      <Filter>src\core\security</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\handshake.c">
+      <Filter>src\core\lib\security</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\security\json_token.c">
-      <Filter>src\core\security</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\json_token.c">
+      <Filter>src\core\lib\security</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\security\jwt_verifier.c">
-      <Filter>src\core\security</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\jwt_verifier.c">
+      <Filter>src\core\lib\security</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\security\secure_endpoint.c">
-      <Filter>src\core\security</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\secure_endpoint.c">
+      <Filter>src\core\lib\security</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\security\security_connector.c">
-      <Filter>src\core\security</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\security_connector.c">
+      <Filter>src\core\lib\security</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\security\security_context.c">
-      <Filter>src\core\security</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\security_context.c">
+      <Filter>src\core\lib\security</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\security\server_auth_filter.c">
-      <Filter>src\core\security</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\server_auth_filter.c">
+      <Filter>src\core\lib\security</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\security\server_secure_chttp2.c">
-      <Filter>src\core\security</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\security\server_secure_chttp2.c">
+      <Filter>src\core\lib\security</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\init_secure.c">
-      <Filter>src\core\surface</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\init_secure.c">
+      <Filter>src\core\lib\surface</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\secure_channel_create.c">
-      <Filter>src\core\surface</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\secure_channel_create.c">
+      <Filter>src\core\lib\surface</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\tsi\fake_transport_security.c">
-      <Filter>src\core\tsi</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\tsi\fake_transport_security.c">
+      <Filter>src\core\lib\tsi</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\tsi\ssl_transport_security.c">
-      <Filter>src\core\tsi</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\tsi\ssl_transport_security.c">
+      <Filter>src\core\lib\tsi</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\tsi\transport_security.c">
-      <Filter>src\core\tsi</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\tsi\transport_security.c">
+      <Filter>src\core\lib\tsi</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\census\context.c">
-      <Filter>src\core\census</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\context.c">
+      <Filter>src\core\lib\census</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\census\initialize.c">
-      <Filter>src\core\census</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\initialize.c">
+      <Filter>src\core\lib\census</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\census\mlog.c">
-      <Filter>src\core\census</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\mlog.c">
+      <Filter>src\core\lib\census</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\census\operation.c">
-      <Filter>src\core\census</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\operation.c">
+      <Filter>src\core\lib\census</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\census\placeholders.c">
-      <Filter>src\core\census</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\placeholders.c">
+      <Filter>src\core\lib\census</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\census\tracing.c">
-      <Filter>src\core\census</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\tracing.c">
+      <Filter>src\core\lib\census</Filter>
     </ClCompile>
     <ClCompile Include="$(SolutionDir)\..\third_party\nanopb\pb_common.c">
       <Filter>third_party\nanopb</Filter>
@@ -536,416 +536,416 @@
     </ClInclude>
   </ItemGroup>
   <ItemGroup>
-    <ClInclude Include="$(SolutionDir)\..\src\core\census\grpc_filter.h">
-      <Filter>src\core\census</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\census\grpc_filter.h">
+      <Filter>src\core\lib\census</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\census\grpc_plugin.h">
-      <Filter>src\core\census</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\census\grpc_plugin.h">
+      <Filter>src\core\lib\census</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\channel\channel_args.h">
-      <Filter>src\core\channel</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\channel_args.h">
+      <Filter>src\core\lib\channel</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\channel\channel_stack.h">
-      <Filter>src\core\channel</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack.h">
+      <Filter>src\core\lib\channel</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\channel\channel_stack_builder.h">
-      <Filter>src\core\channel</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack_builder.h">
+      <Filter>src\core\lib\channel</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\channel\client_channel.h">
-      <Filter>src\core\channel</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\client_channel.h">
+      <Filter>src\core\lib\channel</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\channel\compress_filter.h">
-      <Filter>src\core\channel</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\compress_filter.h">
+      <Filter>src\core\lib\channel</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\channel\connected_channel.h">
-      <Filter>src\core\channel</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\connected_channel.h">
+      <Filter>src\core\lib\channel</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\channel\context.h">
-      <Filter>src\core\channel</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\context.h">
+      <Filter>src\core\lib\channel</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\channel\http_client_filter.h">
-      <Filter>src\core\channel</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\http_client_filter.h">
+      <Filter>src\core\lib\channel</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\channel\http_server_filter.h">
-      <Filter>src\core\channel</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\http_server_filter.h">
+      <Filter>src\core\lib\channel</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\channel\subchannel_call_holder.h">
-      <Filter>src\core\channel</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\subchannel_call_holder.h">
+      <Filter>src\core\lib\channel</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\client_config.h">
-      <Filter>src\core\client_config</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\client_config.h">
+      <Filter>src\core\lib\client_config</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\connector.h">
-      <Filter>src\core\client_config</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\connector.h">
+      <Filter>src\core\lib\client_config</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\initial_connect_string.h">
-      <Filter>src\core\client_config</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\initial_connect_string.h">
+      <Filter>src\core\lib\client_config</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\lb_policies\load_balancer_api.h">
-      <Filter>src\core\client_config\lb_policies</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policies\load_balancer_api.h">
+      <Filter>src\core\lib\client_config\lb_policies</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\lb_policies\pick_first.h">
-      <Filter>src\core\client_config\lb_policies</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policies\pick_first.h">
+      <Filter>src\core\lib\client_config\lb_policies</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\lb_policies\round_robin.h">
-      <Filter>src\core\client_config\lb_policies</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policies\round_robin.h">
+      <Filter>src\core\lib\client_config\lb_policies</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\lb_policy.h">
-      <Filter>src\core\client_config</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policy.h">
+      <Filter>src\core\lib\client_config</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\lb_policy_factory.h">
-      <Filter>src\core\client_config</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policy_factory.h">
+      <Filter>src\core\lib\client_config</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\lb_policy_registry.h">
-      <Filter>src\core\client_config</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policy_registry.h">
+      <Filter>src\core\lib\client_config</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\resolver.h">
-      <Filter>src\core\client_config</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\resolver.h">
+      <Filter>src\core\lib\client_config</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\resolver_factory.h">
-      <Filter>src\core\client_config</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\resolver_factory.h">
+      <Filter>src\core\lib\client_config</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\resolver_registry.h">
-      <Filter>src\core\client_config</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\resolver_registry.h">
+      <Filter>src\core\lib\client_config</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\resolvers\dns_resolver.h">
-      <Filter>src\core\client_config\resolvers</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\resolvers\dns_resolver.h">
+      <Filter>src\core\lib\client_config\resolvers</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\resolvers\sockaddr_resolver.h">
-      <Filter>src\core\client_config\resolvers</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\resolvers\sockaddr_resolver.h">
+      <Filter>src\core\lib\client_config\resolvers</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\subchannel.h">
-      <Filter>src\core\client_config</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\subchannel.h">
+      <Filter>src\core\lib\client_config</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\subchannel_factory.h">
-      <Filter>src\core\client_config</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\subchannel_factory.h">
+      <Filter>src\core\lib\client_config</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\subchannel_index.h">
-      <Filter>src\core\client_config</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\subchannel_index.h">
+      <Filter>src\core\lib\client_config</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\uri_parser.h">
-      <Filter>src\core\client_config</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\uri_parser.h">
+      <Filter>src\core\lib\client_config</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\compression\algorithm_metadata.h">
-      <Filter>src\core\compression</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\compression\algorithm_metadata.h">
+      <Filter>src\core\lib\compression</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\compression\message_compress.h">
-      <Filter>src\core\compression</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\compression\message_compress.h">
+      <Filter>src\core\lib\compression</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\debug\trace.h">
-      <Filter>src\core\debug</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\debug\trace.h">
+      <Filter>src\core\lib\debug</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\http\format_request.h">
-      <Filter>src\core\http</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\http\format_request.h">
+      <Filter>src\core\lib\http</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\http\httpcli.h">
-      <Filter>src\core\http</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\http\httpcli.h">
+      <Filter>src\core\lib\http</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\http\parser.h">
-      <Filter>src\core\http</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\http\parser.h">
+      <Filter>src\core\lib\http</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\closure.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\closure.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\endpoint.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\endpoint_pair.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint_pair.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\exec_ctx.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\exec_ctx.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\executor.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\executor.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\fd_posix.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\fd_posix.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\iocp_windows.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iocp_windows.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\iomgr.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\iomgr_internal.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_internal.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\iomgr_posix.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_posix.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\pollset.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\pollset_posix.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_posix.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\pollset_set.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\pollset_set_posix.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set_posix.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\pollset_set_windows.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set_windows.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\pollset_windows.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_windows.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\resolve_address.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\resolve_address.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\sockaddr.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\sockaddr_posix.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr_posix.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\sockaddr_utils.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr_utils.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\sockaddr_win32.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr_win32.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\socket_utils_posix.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_posix.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\socket_windows.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_windows.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\tcp_client.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\tcp_posix.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_posix.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\tcp_server.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\tcp_windows.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_windows.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\time_averaged_stats.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\time_averaged_stats.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\timer.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\timer.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\timer_heap.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_heap.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\udp_server.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\udp_server.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\unix_sockets_posix.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\unix_sockets_posix.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\wakeup_fd_pipe.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_pipe.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\wakeup_fd_posix.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_posix.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\workqueue.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\workqueue.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\workqueue_posix.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\workqueue_posix.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\workqueue_windows.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\workqueue_windows.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\json\json.h">
-      <Filter>src\core\json</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json.h">
+      <Filter>src\core\lib\json</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\json\json_common.h">
-      <Filter>src\core\json</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json_common.h">
+      <Filter>src\core\lib\json</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\json\json_reader.h">
-      <Filter>src\core\json</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json_reader.h">
+      <Filter>src\core\lib\json</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\json\json_writer.h">
-      <Filter>src\core\json</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json_writer.h">
+      <Filter>src\core\lib\json</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\proto\grpc\lb\v0\load_balancer.pb.h">
-      <Filter>src\core\proto\grpc\lb\v0</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\proto\grpc\lb\v0\load_balancer.pb.h">
+      <Filter>src\core\lib\proto\grpc\lb\v0</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\statistics\census_interface.h">
-      <Filter>src\core\statistics</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\statistics\census_interface.h">
+      <Filter>src\core\lib\statistics</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\statistics\census_rpc_stats.h">
-      <Filter>src\core\statistics</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\statistics\census_rpc_stats.h">
+      <Filter>src\core\lib\statistics</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\surface\api_trace.h">
-      <Filter>src\core\surface</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\api_trace.h">
+      <Filter>src\core\lib\surface</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\surface\call.h">
-      <Filter>src\core\surface</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\call.h">
+      <Filter>src\core\lib\surface</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\surface\call_test_only.h">
-      <Filter>src\core\surface</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\call_test_only.h">
+      <Filter>src\core\lib\surface</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\surface\channel.h">
-      <Filter>src\core\surface</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\channel.h">
+      <Filter>src\core\lib\surface</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\surface\channel_init.h">
-      <Filter>src\core\surface</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\channel_init.h">
+      <Filter>src\core\lib\surface</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\surface\channel_stack_type.h">
-      <Filter>src\core\surface</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\channel_stack_type.h">
+      <Filter>src\core\lib\surface</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\surface\completion_queue.h">
-      <Filter>src\core\surface</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\completion_queue.h">
+      <Filter>src\core\lib\surface</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\surface\event_string.h">
-      <Filter>src\core\surface</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\event_string.h">
+      <Filter>src\core\lib\surface</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\surface\init.h">
-      <Filter>src\core\surface</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\init.h">
+      <Filter>src\core\lib\surface</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\surface\lame_client.h">
-      <Filter>src\core\surface</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\lame_client.h">
+      <Filter>src\core\lib\surface</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\surface\server.h">
-      <Filter>src\core\surface</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\server.h">
+      <Filter>src\core\lib\surface</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\surface\surface_trace.h">
-      <Filter>src\core\surface</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\surface_trace.h">
+      <Filter>src\core\lib\surface</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\byte_stream.h">
-      <Filter>src\core\transport</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\byte_stream.h">
+      <Filter>src\core\lib\transport</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\alpn.h">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\alpn.h">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\bin_encoder.h">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\bin_encoder.h">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\frame.h">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\frame.h">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\frame_data.h">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\frame_data.h">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\frame_goaway.h">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\frame_goaway.h">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\frame_ping.h">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\frame_ping.h">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\frame_rst_stream.h">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\frame_rst_stream.h">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\frame_settings.h">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\frame_settings.h">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\frame_window_update.h">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\frame_window_update.h">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\hpack_encoder.h">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\hpack_encoder.h">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\hpack_parser.h">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\hpack_parser.h">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\hpack_table.h">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\hpack_table.h">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\http2_errors.h">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\http2_errors.h">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\huffsyms.h">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\huffsyms.h">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\incoming_metadata.h">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\incoming_metadata.h">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\internal.h">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\internal.h">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\status_conversion.h">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\status_conversion.h">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\stream_map.h">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\stream_map.h">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\timeout_encoding.h">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\timeout_encoding.h">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\varint.h">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\varint.h">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2_transport.h">
-      <Filter>src\core\transport</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2_transport.h">
+      <Filter>src\core\lib\transport</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\connectivity_state.h">
-      <Filter>src\core\transport</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\connectivity_state.h">
+      <Filter>src\core\lib\transport</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\metadata.h">
-      <Filter>src\core\transport</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\metadata.h">
+      <Filter>src\core\lib\transport</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\metadata_batch.h">
-      <Filter>src\core\transport</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\metadata_batch.h">
+      <Filter>src\core\lib\transport</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\static_metadata.h">
-      <Filter>src\core\transport</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\static_metadata.h">
+      <Filter>src\core\lib\transport</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\transport.h">
-      <Filter>src\core\transport</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\transport.h">
+      <Filter>src\core\lib\transport</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\transport_impl.h">
-      <Filter>src\core\transport</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\transport_impl.h">
+      <Filter>src\core\lib\transport</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\security\auth_filters.h">
-      <Filter>src\core\security</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\auth_filters.h">
+      <Filter>src\core\lib\security</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\security\b64.h">
-      <Filter>src\core\security</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\b64.h">
+      <Filter>src\core\lib\security</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\security\credentials.h">
-      <Filter>src\core\security</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\credentials.h">
+      <Filter>src\core\lib\security</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\security\handshake.h">
-      <Filter>src\core\security</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\handshake.h">
+      <Filter>src\core\lib\security</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\security\json_token.h">
-      <Filter>src\core\security</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\json_token.h">
+      <Filter>src\core\lib\security</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\security\jwt_verifier.h">
-      <Filter>src\core\security</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\jwt_verifier.h">
+      <Filter>src\core\lib\security</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\security\secure_endpoint.h">
-      <Filter>src\core\security</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\secure_endpoint.h">
+      <Filter>src\core\lib\security</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\security\security_connector.h">
-      <Filter>src\core\security</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\security_connector.h">
+      <Filter>src\core\lib\security</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\security\security_context.h">
-      <Filter>src\core\security</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\security\security_context.h">
+      <Filter>src\core\lib\security</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\tsi\fake_transport_security.h">
-      <Filter>src\core\tsi</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\tsi\fake_transport_security.h">
+      <Filter>src\core\lib\tsi</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\tsi\ssl_transport_security.h">
-      <Filter>src\core\tsi</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\tsi\ssl_transport_security.h">
+      <Filter>src\core\lib\tsi</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\tsi\ssl_types.h">
-      <Filter>src\core\tsi</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\tsi\ssl_types.h">
+      <Filter>src\core\lib\tsi</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\tsi\transport_security.h">
-      <Filter>src\core\tsi</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\tsi\transport_security.h">
+      <Filter>src\core\lib\tsi</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\tsi\transport_security_interface.h">
-      <Filter>src\core\tsi</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\tsi\transport_security_interface.h">
+      <Filter>src\core\lib\tsi</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\census\aggregation.h">
-      <Filter>src\core\census</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\census\aggregation.h">
+      <Filter>src\core\lib\census</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\census\mlog.h">
-      <Filter>src\core\census</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\census\mlog.h">
+      <Filter>src\core\lib\census</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\census\rpc_metric_id.h">
-      <Filter>src\core\census</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\census\rpc_metric_id.h">
+      <Filter>src\core\lib\census</Filter>
     </ClInclude>
     <ClInclude Include="$(SolutionDir)\..\third_party\nanopb\pb.h">
       <Filter>third_party\nanopb</Filter>
@@ -980,65 +980,68 @@
     <Filter Include="src\core">
       <UniqueIdentifier>{ea745680-21ea-9c5e-679b-64dc40562d08}</UniqueIdentifier>
     </Filter>
-    <Filter Include="src\core\census">
-      <UniqueIdentifier>{fb3aefc2-8205-b0bf-525f-ab5e339f7f76}</UniqueIdentifier>
+    <Filter Include="src\core\lib">
+      <UniqueIdentifier>{5b2ded3f-84a5-f6b4-2060-286c7d1dc945}</UniqueIdentifier>
     </Filter>
-    <Filter Include="src\core\channel">
-      <UniqueIdentifier>{d897b6c3-c555-234e-a589-b4f008063615}</UniqueIdentifier>
+    <Filter Include="src\core\lib\census">
+      <UniqueIdentifier>{f4108884-98c3-ac2e-c669-83cd41343975}</UniqueIdentifier>
     </Filter>
-    <Filter Include="src\core\client_config">
-      <UniqueIdentifier>{e71e6928-b1e3-0616-0961-1505370458ab}</UniqueIdentifier>
+    <Filter Include="src\core\lib\channel">
+      <UniqueIdentifier>{1931b044-90f3-cd68-b5f8-23be77ca8efc}</UniqueIdentifier>
     </Filter>
-    <Filter Include="src\core\client_config\lb_policies">
-      <UniqueIdentifier>{a3eca4d5-f760-61a6-7251-556b828c8b44}</UniqueIdentifier>
+    <Filter Include="src\core\lib\client_config">
+      <UniqueIdentifier>{2f3260de-be57-d18d-6882-61d115baa159}</UniqueIdentifier>
     </Filter>
-    <Filter Include="src\core\client_config\resolvers">
-      <UniqueIdentifier>{6d97b8d9-2c15-927a-892a-709d073c02ab}</UniqueIdentifier>
+    <Filter Include="src\core\lib\client_config\lb_policies">
+      <UniqueIdentifier>{118d2bb5-086f-54f3-11de-26d7d7f73f9d}</UniqueIdentifier>
     </Filter>
-    <Filter Include="src\core\compression">
-      <UniqueIdentifier>{263cb913-dfe6-42a4-096b-cac231f76305}</UniqueIdentifier>
+    <Filter Include="src\core\lib\client_config\resolvers">
+      <UniqueIdentifier>{b9d8db6c-2c68-1c90-fe5e-37da90f47ae6}</UniqueIdentifier>
     </Filter>
-    <Filter Include="src\core\debug">
-      <UniqueIdentifier>{1da7ef8a-a06d-5499-b3de-19fee4a4214d}</UniqueIdentifier>
+    <Filter Include="src\core\lib\compression">
+      <UniqueIdentifier>{dadf7fe9-3f15-d431-e4f6-f987b090536c}</UniqueIdentifier>
     </Filter>
-    <Filter Include="src\core\http">
-      <UniqueIdentifier>{404fdb9e-a69c-81d4-035b-465c826115a9}</UniqueIdentifier>
+    <Filter Include="src\core\lib\debug">
+      <UniqueIdentifier>{19122742-9b92-5b67-9fb9-e552ac62ca5d}</UniqueIdentifier>
     </Filter>
-    <Filter Include="src\core\iomgr">
-      <UniqueIdentifier>{1baf3894-af37-e647-bdbc-95dc17ed0073}</UniqueIdentifier>
+    <Filter Include="src\core\lib\http">
+      <UniqueIdentifier>{dab8f03a-73de-8cfa-88fb-6e04402efb54}</UniqueIdentifier>
     </Filter>
-    <Filter Include="src\core\json">
-      <UniqueIdentifier>{e665cc0e-b994-d7c5-cc18-2007392019f0}</UniqueIdentifier>
+    <Filter Include="src\core\lib\iomgr">
+      <UniqueIdentifier>{5468ba38-b8a3-85b1-216f-48a2364e18df}</UniqueIdentifier>
     </Filter>
-    <Filter Include="src\core\proto">
-      <UniqueIdentifier>{1ff04466-0905-8a5d-d6f4-7ff2df4c13b5}</UniqueIdentifier>
+    <Filter Include="src\core\lib\json">
+      <UniqueIdentifier>{cb2b0073-f2a7-5c63-d182-8874b24bdf36}</UniqueIdentifier>
     </Filter>
-    <Filter Include="src\core\proto\grpc">
-      <UniqueIdentifier>{7c7ad0b3-bf85-5bd3-e0c8-4f5468a8e2e6}</UniqueIdentifier>
+    <Filter Include="src\core\lib\proto">
+      <UniqueIdentifier>{b4b19f9a-1575-8a21-0bca-537746f858b7}</UniqueIdentifier>
     </Filter>
-    <Filter Include="src\core\proto\grpc\lb">
-      <UniqueIdentifier>{3d533dad-8100-e8a3-b7c3-1fc13a4d60da}</UniqueIdentifier>
+    <Filter Include="src\core\lib\proto\grpc">
+      <UniqueIdentifier>{cbc8ce67-4a97-d533-8dc3-f949c63e2771}</UniqueIdentifier>
     </Filter>
-    <Filter Include="src\core\proto\grpc\lb\v0">
-      <UniqueIdentifier>{0ffcf868-7617-5fed-b6ce-2162d9d09148}</UniqueIdentifier>
+    <Filter Include="src\core\lib\proto\grpc\lb">
+      <UniqueIdentifier>{933530ae-447b-ea8d-3531-98f0556960b0}</UniqueIdentifier>
     </Filter>
-    <Filter Include="src\core\security">
-      <UniqueIdentifier>{1d850ac6-e639-4eab-5338-4ba40272fcc9}</UniqueIdentifier>
+    <Filter Include="src\core\lib\proto\grpc\lb\v0">
+      <UniqueIdentifier>{c33f944f-37d4-42fd-abc3-61f0d4400462}</UniqueIdentifier>
     </Filter>
-    <Filter Include="src\core\statistics">
-      <UniqueIdentifier>{0ef49896-2313-4a3f-1ce2-716fa0e5c6ca}</UniqueIdentifier>
+    <Filter Include="src\core\lib\security">
+      <UniqueIdentifier>{c4661d64-349f-01c1-1ba8-0602f9047595}</UniqueIdentifier>
     </Filter>
-    <Filter Include="src\core\surface">
-      <UniqueIdentifier>{aeb18e82-5d25-0aad-8b02-a0a3470073ce}</UniqueIdentifier>
+    <Filter Include="src\core\lib\statistics">
+      <UniqueIdentifier>{4dc3c48b-e931-ed47-ffa2-b4ea3a7956ec}</UniqueIdentifier>
     </Filter>
-    <Filter Include="src\core\transport">
-      <UniqueIdentifier>{168fa1b1-1c18-eb55-9a4d-746bc58df2c1}</UniqueIdentifier>
+    <Filter Include="src\core\lib\surface">
+      <UniqueIdentifier>{a21971fb-304f-da08-b1b2-7bd8df8ac373}</UniqueIdentifier>
     </Filter>
-    <Filter Include="src\core\transport\chttp2">
-      <UniqueIdentifier>{b8b623c3-a168-a2b1-0d5f-b70a1f1cd8d2}</UniqueIdentifier>
+    <Filter Include="src\core\lib\transport">
+      <UniqueIdentifier>{e9d0d3fc-c100-f3e6-89b8-649f241155bf}</UniqueIdentifier>
     </Filter>
-    <Filter Include="src\core\tsi">
-      <UniqueIdentifier>{0b0f9ab1-efa4-7f03-e446-6fb9b5227e84}</UniqueIdentifier>
+    <Filter Include="src\core\lib\transport\chttp2">
+      <UniqueIdentifier>{a47fedfc-b6c6-d588-14fc-6645d736bcd6}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="src\core\lib\tsi">
+      <UniqueIdentifier>{95ad2811-c8d0-7a42-2a73-baf03fcbf699}</UniqueIdentifier>
     </Filter>
     <Filter Include="third_party">
       <UniqueIdentifier>{aaab30a4-2a15-732e-c141-3fbc0f0f5a7a}</UniqueIdentifier>
diff --git a/vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj b/vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj
index 4f2336a..0512501 100644
--- a/vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj
+++ b/vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj
@@ -272,416 +272,416 @@
     <ClInclude Include="$(SolutionDir)\..\include\grpc\census.h" />
   </ItemGroup>
   <ItemGroup>
-    <ClInclude Include="$(SolutionDir)\..\src\core\census\grpc_filter.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\census\grpc_plugin.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\channel\channel_args.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\channel\channel_stack.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\channel\channel_stack_builder.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\channel\client_channel.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\channel\compress_filter.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\channel\connected_channel.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\channel\context.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\channel\http_client_filter.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\channel\http_server_filter.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\channel\subchannel_call_holder.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\client_config.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\connector.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\initial_connect_string.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\lb_policies\load_balancer_api.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\lb_policies\pick_first.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\lb_policies\round_robin.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\lb_policy.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\lb_policy_factory.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\lb_policy_registry.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\resolver.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\resolver_factory.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\resolver_registry.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\resolvers\dns_resolver.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\resolvers\sockaddr_resolver.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\subchannel.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\subchannel_factory.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\subchannel_index.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\uri_parser.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\compression\algorithm_metadata.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\compression\message_compress.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\debug\trace.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\http\format_request.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\http\httpcli.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\http\parser.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\closure.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\endpoint.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\endpoint_pair.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\exec_ctx.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\executor.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\fd_posix.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\iocp_windows.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\iomgr.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\iomgr_internal.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\iomgr_posix.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\pollset.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\pollset_posix.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\pollset_set.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\pollset_set_posix.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\pollset_set_windows.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\pollset_windows.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\resolve_address.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\sockaddr.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\sockaddr_posix.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\sockaddr_utils.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\sockaddr_win32.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\socket_utils_posix.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\socket_windows.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\tcp_client.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\tcp_posix.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\tcp_server.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\tcp_windows.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\time_averaged_stats.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\timer.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\timer_heap.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\udp_server.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\unix_sockets_posix.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\wakeup_fd_pipe.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\wakeup_fd_posix.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\workqueue.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\workqueue_posix.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\workqueue_windows.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\json\json.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\json\json_common.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\json\json_reader.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\json\json_writer.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\proto\grpc\lb\v0\load_balancer.pb.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\statistics\census_interface.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\statistics\census_rpc_stats.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\surface\api_trace.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\surface\call.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\surface\call_test_only.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\surface\channel.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\surface\channel_init.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\surface\channel_stack_type.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\surface\completion_queue.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\surface\event_string.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\surface\init.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\surface\lame_client.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\surface\server.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\surface\surface_trace.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\byte_stream.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\alpn.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\bin_encoder.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\frame.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\frame_data.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\frame_goaway.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\frame_ping.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\frame_rst_stream.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\frame_settings.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\frame_window_update.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\hpack_encoder.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\hpack_parser.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\hpack_table.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\http2_errors.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\huffsyms.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\incoming_metadata.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\internal.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\status_conversion.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\stream_map.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\timeout_encoding.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\varint.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2_transport.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\connectivity_state.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\metadata.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\metadata_batch.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\static_metadata.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\transport.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\transport_impl.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\census\aggregation.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\census\mlog.h" />
-    <ClInclude Include="$(SolutionDir)\..\src\core\census\rpc_metric_id.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\census\grpc_filter.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\census\grpc_plugin.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\channel_args.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack_builder.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\client_channel.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\compress_filter.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\connected_channel.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\context.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\http_client_filter.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\http_server_filter.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\subchannel_call_holder.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\client_config.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\connector.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\initial_connect_string.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policies\load_balancer_api.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policies\pick_first.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policies\round_robin.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policy.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policy_factory.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policy_registry.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\resolver.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\resolver_factory.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\resolver_registry.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\resolvers\dns_resolver.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\resolvers\sockaddr_resolver.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\subchannel.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\subchannel_factory.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\subchannel_index.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\uri_parser.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\compression\algorithm_metadata.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\compression\message_compress.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\debug\trace.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\http\format_request.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\http\httpcli.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\http\parser.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\closure.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint_pair.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\exec_ctx.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\executor.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\fd_posix.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iocp_windows.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_internal.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_posix.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_posix.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set_posix.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set_windows.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_windows.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\resolve_address.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr_posix.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr_utils.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr_win32.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_posix.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_windows.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_posix.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_windows.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\time_averaged_stats.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\timer.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_heap.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\udp_server.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\unix_sockets_posix.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_pipe.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_posix.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\workqueue.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\workqueue_posix.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\workqueue_windows.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json_common.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json_reader.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json_writer.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\proto\grpc\lb\v0\load_balancer.pb.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\statistics\census_interface.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\statistics\census_rpc_stats.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\api_trace.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\call.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\call_test_only.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\channel.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\channel_init.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\channel_stack_type.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\completion_queue.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\event_string.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\init.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\lame_client.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\server.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\surface_trace.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\byte_stream.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\alpn.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\bin_encoder.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\frame.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\frame_data.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\frame_goaway.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\frame_ping.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\frame_rst_stream.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\frame_settings.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\frame_window_update.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\hpack_encoder.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\hpack_parser.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\hpack_table.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\http2_errors.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\huffsyms.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\incoming_metadata.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\internal.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\status_conversion.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\stream_map.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\timeout_encoding.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\varint.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2_transport.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\connectivity_state.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\metadata.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\metadata_batch.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\static_metadata.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\transport.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\transport_impl.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\census\aggregation.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\census\mlog.h" />
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\census\rpc_metric_id.h" />
     <ClInclude Include="$(SolutionDir)\..\third_party\nanopb\pb.h" />
     <ClInclude Include="$(SolutionDir)\..\third_party\nanopb\pb_common.h" />
     <ClInclude Include="$(SolutionDir)\..\third_party\nanopb\pb_decode.h" />
     <ClInclude Include="$(SolutionDir)\..\third_party\nanopb\pb_encode.h" />
   </ItemGroup>
   <ItemGroup>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\init_unsecure.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\init_unsecure.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\census\grpc_context.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\grpc_context.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\census\grpc_filter.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\grpc_filter.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\census\grpc_plugin.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\grpc_plugin.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\channel\channel_args.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\channel_args.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\channel\channel_stack.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\channel\channel_stack_builder.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack_builder.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\channel\client_channel.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\client_channel.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\channel\compress_filter.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\compress_filter.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\channel\connected_channel.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\connected_channel.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\channel\http_client_filter.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\http_client_filter.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\channel\http_server_filter.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\http_server_filter.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\channel\subchannel_call_holder.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\subchannel_call_holder.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\client_config.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\client_config.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\connector.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\connector.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\default_initial_connect_string.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\default_initial_connect_string.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\initial_connect_string.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\initial_connect_string.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\lb_policies\load_balancer_api.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policies\load_balancer_api.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\lb_policies\pick_first.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policies\pick_first.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\lb_policies\round_robin.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policies\round_robin.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\lb_policy.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policy.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\lb_policy_factory.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policy_factory.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\lb_policy_registry.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policy_registry.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\resolver.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\resolver.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\resolver_factory.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\resolver_factory.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\resolver_registry.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\resolver_registry.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\resolvers\dns_resolver.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\resolvers\dns_resolver.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\resolvers\sockaddr_resolver.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\resolvers\sockaddr_resolver.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\subchannel.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\subchannel.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\subchannel_factory.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\subchannel_factory.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\subchannel_index.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\subchannel_index.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\uri_parser.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\uri_parser.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\compression\compression_algorithm.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\compression\compression_algorithm.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\compression\message_compress.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\compression\message_compress.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\debug\trace.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\debug\trace.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\http\format_request.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\http\format_request.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\http\httpcli.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\http\httpcli.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\http\parser.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\http\parser.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\closure.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\closure.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\endpoint.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\endpoint_pair_posix.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint_pair_posix.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\endpoint_pair_windows.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint_pair_windows.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\exec_ctx.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\exec_ctx.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\executor.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\executor.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\fd_posix.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\fd_posix.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\iocp_windows.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iocp_windows.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\iomgr.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\iomgr_posix.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_posix.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\iomgr_windows.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_windows.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\pollset_multipoller_with_epoll.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_multipoller_with_epoll.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\pollset_multipoller_with_poll_posix.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_multipoller_with_poll_posix.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\pollset_posix.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_posix.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\pollset_set_posix.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set_posix.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\pollset_set_windows.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set_windows.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\pollset_windows.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_windows.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\resolve_address_posix.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\resolve_address_posix.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\resolve_address_windows.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\resolve_address_windows.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\sockaddr_utils.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr_utils.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\socket_utils_common_posix.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_common_posix.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\socket_utils_linux.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_linux.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\socket_utils_posix.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_posix.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\socket_windows.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_windows.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\tcp_client_posix.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client_posix.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\tcp_client_windows.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client_windows.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\tcp_posix.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_posix.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\tcp_server_posix.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_posix.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\tcp_server_windows.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_windows.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\tcp_windows.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_windows.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\time_averaged_stats.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\time_averaged_stats.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\timer.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\timer.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\timer_heap.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_heap.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\udp_server.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\udp_server.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\unix_sockets_posix.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\unix_sockets_posix.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\unix_sockets_posix_noop.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\unix_sockets_posix_noop.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\wakeup_fd_eventfd.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_eventfd.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\wakeup_fd_nospecial.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_nospecial.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\wakeup_fd_pipe.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_pipe.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\wakeup_fd_posix.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_posix.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\workqueue_posix.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\workqueue_posix.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\workqueue_windows.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\workqueue_windows.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\json\json.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\json\json.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\json\json_reader.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\json\json_reader.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\json\json_string.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\json\json_string.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\json\json_writer.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\json\json_writer.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\proto\grpc\lb\v0\load_balancer.pb.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\proto\grpc\lb\v0\load_balancer.pb.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\alarm.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\alarm.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\api_trace.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\api_trace.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\byte_buffer.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\byte_buffer.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\byte_buffer_reader.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\byte_buffer_reader.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\call.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\call.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\call_details.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\call_details.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\call_log_batch.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\call_log_batch.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\channel.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\channel_connectivity.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel_connectivity.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\channel_create.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel_create.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\channel_init.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel_init.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\channel_ping.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel_ping.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\channel_stack_type.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel_stack_type.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\completion_queue.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\completion_queue.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\event_string.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\event_string.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\init.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\init.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\lame_client.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\lame_client.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\metadata_array.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\metadata_array.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\server.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\server.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\server_chttp2.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\server_chttp2.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\validate_metadata.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\validate_metadata.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\version.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\version.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\byte_stream.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\byte_stream.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\alpn.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\alpn.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\bin_encoder.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\bin_encoder.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\frame_data.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\frame_data.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\frame_goaway.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\frame_goaway.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\frame_ping.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\frame_ping.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\frame_rst_stream.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\frame_rst_stream.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\frame_settings.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\frame_settings.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\frame_window_update.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\frame_window_update.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\hpack_encoder.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\hpack_encoder.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\hpack_parser.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\hpack_parser.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\hpack_table.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\hpack_table.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\huffsyms.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\huffsyms.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\incoming_metadata.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\incoming_metadata.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\parsing.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\parsing.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\status_conversion.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\status_conversion.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\stream_lists.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\stream_lists.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\stream_map.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\stream_map.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\timeout_encoding.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\timeout_encoding.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\varint.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\varint.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\writing.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\writing.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2_transport.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2_transport.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\connectivity_state.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\connectivity_state.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\metadata.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\metadata.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\metadata_batch.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\metadata_batch.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\static_metadata.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\static_metadata.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\transport.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\transport.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\transport_op_string.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\transport_op_string.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\census\context.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\context.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\census\initialize.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\initialize.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\census\mlog.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\mlog.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\census\operation.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\operation.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\census\placeholders.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\placeholders.c">
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\census\tracing.c">
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\tracing.c">
     </ClCompile>
     <ClCompile Include="$(SolutionDir)\..\third_party\nanopb\pb_common.c">
     </ClCompile>
diff --git a/vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj.filters b/vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj.filters
index e31ece7..5309b18 100644
--- a/vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj.filters
+++ b/vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj.filters
@@ -1,428 +1,428 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <ItemGroup>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\init_unsecure.c">
-      <Filter>src\core\surface</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\init_unsecure.c">
+      <Filter>src\core\lib\surface</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\census\grpc_context.c">
-      <Filter>src\core\census</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\grpc_context.c">
+      <Filter>src\core\lib\census</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\census\grpc_filter.c">
-      <Filter>src\core\census</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\grpc_filter.c">
+      <Filter>src\core\lib\census</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\census\grpc_plugin.c">
-      <Filter>src\core\census</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\grpc_plugin.c">
+      <Filter>src\core\lib\census</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\channel\channel_args.c">
-      <Filter>src\core\channel</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\channel_args.c">
+      <Filter>src\core\lib\channel</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\channel\channel_stack.c">
-      <Filter>src\core\channel</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack.c">
+      <Filter>src\core\lib\channel</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\channel\channel_stack_builder.c">
-      <Filter>src\core\channel</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack_builder.c">
+      <Filter>src\core\lib\channel</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\channel\client_channel.c">
-      <Filter>src\core\channel</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\client_channel.c">
+      <Filter>src\core\lib\channel</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\channel\compress_filter.c">
-      <Filter>src\core\channel</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\compress_filter.c">
+      <Filter>src\core\lib\channel</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\channel\connected_channel.c">
-      <Filter>src\core\channel</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\connected_channel.c">
+      <Filter>src\core\lib\channel</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\channel\http_client_filter.c">
-      <Filter>src\core\channel</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\http_client_filter.c">
+      <Filter>src\core\lib\channel</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\channel\http_server_filter.c">
-      <Filter>src\core\channel</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\http_server_filter.c">
+      <Filter>src\core\lib\channel</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\channel\subchannel_call_holder.c">
-      <Filter>src\core\channel</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\channel\subchannel_call_holder.c">
+      <Filter>src\core\lib\channel</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\client_config.c">
-      <Filter>src\core\client_config</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\client_config.c">
+      <Filter>src\core\lib\client_config</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\connector.c">
-      <Filter>src\core\client_config</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\connector.c">
+      <Filter>src\core\lib\client_config</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\default_initial_connect_string.c">
-      <Filter>src\core\client_config</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\default_initial_connect_string.c">
+      <Filter>src\core\lib\client_config</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\initial_connect_string.c">
-      <Filter>src\core\client_config</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\initial_connect_string.c">
+      <Filter>src\core\lib\client_config</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\lb_policies\load_balancer_api.c">
-      <Filter>src\core\client_config\lb_policies</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policies\load_balancer_api.c">
+      <Filter>src\core\lib\client_config\lb_policies</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\lb_policies\pick_first.c">
-      <Filter>src\core\client_config\lb_policies</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policies\pick_first.c">
+      <Filter>src\core\lib\client_config\lb_policies</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\lb_policies\round_robin.c">
-      <Filter>src\core\client_config\lb_policies</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policies\round_robin.c">
+      <Filter>src\core\lib\client_config\lb_policies</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\lb_policy.c">
-      <Filter>src\core\client_config</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policy.c">
+      <Filter>src\core\lib\client_config</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\lb_policy_factory.c">
-      <Filter>src\core\client_config</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policy_factory.c">
+      <Filter>src\core\lib\client_config</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\lb_policy_registry.c">
-      <Filter>src\core\client_config</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policy_registry.c">
+      <Filter>src\core\lib\client_config</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\resolver.c">
-      <Filter>src\core\client_config</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\resolver.c">
+      <Filter>src\core\lib\client_config</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\resolver_factory.c">
-      <Filter>src\core\client_config</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\resolver_factory.c">
+      <Filter>src\core\lib\client_config</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\resolver_registry.c">
-      <Filter>src\core\client_config</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\resolver_registry.c">
+      <Filter>src\core\lib\client_config</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\resolvers\dns_resolver.c">
-      <Filter>src\core\client_config\resolvers</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\resolvers\dns_resolver.c">
+      <Filter>src\core\lib\client_config\resolvers</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\resolvers\sockaddr_resolver.c">
-      <Filter>src\core\client_config\resolvers</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\resolvers\sockaddr_resolver.c">
+      <Filter>src\core\lib\client_config\resolvers</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\subchannel.c">
-      <Filter>src\core\client_config</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\subchannel.c">
+      <Filter>src\core\lib\client_config</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\subchannel_factory.c">
-      <Filter>src\core\client_config</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\subchannel_factory.c">
+      <Filter>src\core\lib\client_config</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\subchannel_index.c">
-      <Filter>src\core\client_config</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\subchannel_index.c">
+      <Filter>src\core\lib\client_config</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\client_config\uri_parser.c">
-      <Filter>src\core\client_config</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\client_config\uri_parser.c">
+      <Filter>src\core\lib\client_config</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\compression\compression_algorithm.c">
-      <Filter>src\core\compression</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\compression\compression_algorithm.c">
+      <Filter>src\core\lib\compression</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\compression\message_compress.c">
-      <Filter>src\core\compression</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\compression\message_compress.c">
+      <Filter>src\core\lib\compression</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\debug\trace.c">
-      <Filter>src\core\debug</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\debug\trace.c">
+      <Filter>src\core\lib\debug</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\http\format_request.c">
-      <Filter>src\core\http</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\http\format_request.c">
+      <Filter>src\core\lib\http</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\http\httpcli.c">
-      <Filter>src\core\http</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\http\httpcli.c">
+      <Filter>src\core\lib\http</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\http\parser.c">
-      <Filter>src\core\http</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\http\parser.c">
+      <Filter>src\core\lib\http</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\closure.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\closure.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\endpoint.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\endpoint_pair_posix.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint_pair_posix.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\endpoint_pair_windows.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint_pair_windows.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\exec_ctx.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\exec_ctx.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\executor.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\executor.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\fd_posix.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\fd_posix.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\iocp_windows.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iocp_windows.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\iomgr.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\iomgr_posix.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_posix.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\iomgr_windows.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_windows.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\pollset_multipoller_with_epoll.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_multipoller_with_epoll.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\pollset_multipoller_with_poll_posix.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_multipoller_with_poll_posix.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\pollset_posix.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_posix.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\pollset_set_posix.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set_posix.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\pollset_set_windows.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set_windows.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\pollset_windows.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_windows.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\resolve_address_posix.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\resolve_address_posix.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\resolve_address_windows.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\resolve_address_windows.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\sockaddr_utils.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr_utils.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\socket_utils_common_posix.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_common_posix.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\socket_utils_linux.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_linux.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\socket_utils_posix.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_posix.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\socket_windows.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_windows.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\tcp_client_posix.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client_posix.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\tcp_client_windows.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client_windows.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\tcp_posix.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_posix.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\tcp_server_posix.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_posix.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\tcp_server_windows.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server_windows.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\tcp_windows.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_windows.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\time_averaged_stats.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\time_averaged_stats.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\timer.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\timer.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\timer_heap.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_heap.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\udp_server.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\udp_server.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\unix_sockets_posix.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\unix_sockets_posix.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\unix_sockets_posix_noop.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\unix_sockets_posix_noop.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\wakeup_fd_eventfd.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_eventfd.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\wakeup_fd_nospecial.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_nospecial.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\wakeup_fd_pipe.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_pipe.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\wakeup_fd_posix.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_posix.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\workqueue_posix.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\workqueue_posix.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\iomgr\workqueue_windows.c">
-      <Filter>src\core\iomgr</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\iomgr\workqueue_windows.c">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\json\json.c">
-      <Filter>src\core\json</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\json\json.c">
+      <Filter>src\core\lib\json</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\json\json_reader.c">
-      <Filter>src\core\json</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\json\json_reader.c">
+      <Filter>src\core\lib\json</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\json\json_string.c">
-      <Filter>src\core\json</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\json\json_string.c">
+      <Filter>src\core\lib\json</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\json\json_writer.c">
-      <Filter>src\core\json</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\json\json_writer.c">
+      <Filter>src\core\lib\json</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\proto\grpc\lb\v0\load_balancer.pb.c">
-      <Filter>src\core\proto\grpc\lb\v0</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\proto\grpc\lb\v0\load_balancer.pb.c">
+      <Filter>src\core\lib\proto\grpc\lb\v0</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\alarm.c">
-      <Filter>src\core\surface</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\alarm.c">
+      <Filter>src\core\lib\surface</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\api_trace.c">
-      <Filter>src\core\surface</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\api_trace.c">
+      <Filter>src\core\lib\surface</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\byte_buffer.c">
-      <Filter>src\core\surface</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\byte_buffer.c">
+      <Filter>src\core\lib\surface</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\byte_buffer_reader.c">
-      <Filter>src\core\surface</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\byte_buffer_reader.c">
+      <Filter>src\core\lib\surface</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\call.c">
-      <Filter>src\core\surface</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\call.c">
+      <Filter>src\core\lib\surface</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\call_details.c">
-      <Filter>src\core\surface</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\call_details.c">
+      <Filter>src\core\lib\surface</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\call_log_batch.c">
-      <Filter>src\core\surface</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\call_log_batch.c">
+      <Filter>src\core\lib\surface</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\channel.c">
-      <Filter>src\core\surface</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel.c">
+      <Filter>src\core\lib\surface</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\channel_connectivity.c">
-      <Filter>src\core\surface</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel_connectivity.c">
+      <Filter>src\core\lib\surface</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\channel_create.c">
-      <Filter>src\core\surface</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel_create.c">
+      <Filter>src\core\lib\surface</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\channel_init.c">
-      <Filter>src\core\surface</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel_init.c">
+      <Filter>src\core\lib\surface</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\channel_ping.c">
-      <Filter>src\core\surface</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel_ping.c">
+      <Filter>src\core\lib\surface</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\channel_stack_type.c">
-      <Filter>src\core\surface</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\channel_stack_type.c">
+      <Filter>src\core\lib\surface</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\completion_queue.c">
-      <Filter>src\core\surface</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\completion_queue.c">
+      <Filter>src\core\lib\surface</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\event_string.c">
-      <Filter>src\core\surface</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\event_string.c">
+      <Filter>src\core\lib\surface</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\init.c">
-      <Filter>src\core\surface</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\init.c">
+      <Filter>src\core\lib\surface</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\lame_client.c">
-      <Filter>src\core\surface</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\lame_client.c">
+      <Filter>src\core\lib\surface</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\metadata_array.c">
-      <Filter>src\core\surface</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\metadata_array.c">
+      <Filter>src\core\lib\surface</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\server.c">
-      <Filter>src\core\surface</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\server.c">
+      <Filter>src\core\lib\surface</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\server_chttp2.c">
-      <Filter>src\core\surface</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\server_chttp2.c">
+      <Filter>src\core\lib\surface</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\validate_metadata.c">
-      <Filter>src\core\surface</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\validate_metadata.c">
+      <Filter>src\core\lib\surface</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\surface\version.c">
-      <Filter>src\core\surface</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\surface\version.c">
+      <Filter>src\core\lib\surface</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\byte_stream.c">
-      <Filter>src\core\transport</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\byte_stream.c">
+      <Filter>src\core\lib\transport</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\alpn.c">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\alpn.c">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\bin_encoder.c">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\bin_encoder.c">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\frame_data.c">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\frame_data.c">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\frame_goaway.c">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\frame_goaway.c">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\frame_ping.c">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\frame_ping.c">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\frame_rst_stream.c">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\frame_rst_stream.c">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\frame_settings.c">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\frame_settings.c">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\frame_window_update.c">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\frame_window_update.c">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\hpack_encoder.c">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\hpack_encoder.c">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\hpack_parser.c">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\hpack_parser.c">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\hpack_table.c">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\hpack_table.c">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\huffsyms.c">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\huffsyms.c">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\incoming_metadata.c">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\incoming_metadata.c">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\parsing.c">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\parsing.c">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\status_conversion.c">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\status_conversion.c">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\stream_lists.c">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\stream_lists.c">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\stream_map.c">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\stream_map.c">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\timeout_encoding.c">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\timeout_encoding.c">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\varint.c">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\varint.c">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2\writing.c">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\writing.c">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\chttp2_transport.c">
-      <Filter>src\core\transport</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\chttp2_transport.c">
+      <Filter>src\core\lib\transport</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\connectivity_state.c">
-      <Filter>src\core\transport</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\connectivity_state.c">
+      <Filter>src\core\lib\transport</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\metadata.c">
-      <Filter>src\core\transport</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\metadata.c">
+      <Filter>src\core\lib\transport</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\metadata_batch.c">
-      <Filter>src\core\transport</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\metadata_batch.c">
+      <Filter>src\core\lib\transport</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\static_metadata.c">
-      <Filter>src\core\transport</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\static_metadata.c">
+      <Filter>src\core\lib\transport</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\transport.c">
-      <Filter>src\core\transport</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\transport.c">
+      <Filter>src\core\lib\transport</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\transport\transport_op_string.c">
-      <Filter>src\core\transport</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\transport\transport_op_string.c">
+      <Filter>src\core\lib\transport</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\census\context.c">
-      <Filter>src\core\census</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\context.c">
+      <Filter>src\core\lib\census</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\census\initialize.c">
-      <Filter>src\core\census</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\initialize.c">
+      <Filter>src\core\lib\census</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\census\mlog.c">
-      <Filter>src\core\census</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\mlog.c">
+      <Filter>src\core\lib\census</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\census\operation.c">
-      <Filter>src\core\census</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\operation.c">
+      <Filter>src\core\lib\census</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\census\placeholders.c">
-      <Filter>src\core\census</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\placeholders.c">
+      <Filter>src\core\lib\census</Filter>
     </ClCompile>
-    <ClCompile Include="$(SolutionDir)\..\src\core\census\tracing.c">
-      <Filter>src\core\census</Filter>
+    <ClCompile Include="$(SolutionDir)\..\src\core\lib\census\tracing.c">
+      <Filter>src\core\lib\census</Filter>
     </ClCompile>
     <ClCompile Include="$(SolutionDir)\..\third_party\nanopb\pb_common.c">
       <Filter>third_party\nanopb</Filter>
@@ -473,374 +473,374 @@
     </ClInclude>
   </ItemGroup>
   <ItemGroup>
-    <ClInclude Include="$(SolutionDir)\..\src\core\census\grpc_filter.h">
-      <Filter>src\core\census</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\census\grpc_filter.h">
+      <Filter>src\core\lib\census</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\census\grpc_plugin.h">
-      <Filter>src\core\census</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\census\grpc_plugin.h">
+      <Filter>src\core\lib\census</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\channel\channel_args.h">
-      <Filter>src\core\channel</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\channel_args.h">
+      <Filter>src\core\lib\channel</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\channel\channel_stack.h">
-      <Filter>src\core\channel</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack.h">
+      <Filter>src\core\lib\channel</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\channel\channel_stack_builder.h">
-      <Filter>src\core\channel</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\channel_stack_builder.h">
+      <Filter>src\core\lib\channel</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\channel\client_channel.h">
-      <Filter>src\core\channel</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\client_channel.h">
+      <Filter>src\core\lib\channel</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\channel\compress_filter.h">
-      <Filter>src\core\channel</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\compress_filter.h">
+      <Filter>src\core\lib\channel</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\channel\connected_channel.h">
-      <Filter>src\core\channel</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\connected_channel.h">
+      <Filter>src\core\lib\channel</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\channel\context.h">
-      <Filter>src\core\channel</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\context.h">
+      <Filter>src\core\lib\channel</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\channel\http_client_filter.h">
-      <Filter>src\core\channel</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\http_client_filter.h">
+      <Filter>src\core\lib\channel</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\channel\http_server_filter.h">
-      <Filter>src\core\channel</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\http_server_filter.h">
+      <Filter>src\core\lib\channel</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\channel\subchannel_call_holder.h">
-      <Filter>src\core\channel</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\channel\subchannel_call_holder.h">
+      <Filter>src\core\lib\channel</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\client_config.h">
-      <Filter>src\core\client_config</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\client_config.h">
+      <Filter>src\core\lib\client_config</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\connector.h">
-      <Filter>src\core\client_config</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\connector.h">
+      <Filter>src\core\lib\client_config</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\initial_connect_string.h">
-      <Filter>src\core\client_config</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\initial_connect_string.h">
+      <Filter>src\core\lib\client_config</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\lb_policies\load_balancer_api.h">
-      <Filter>src\core\client_config\lb_policies</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policies\load_balancer_api.h">
+      <Filter>src\core\lib\client_config\lb_policies</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\lb_policies\pick_first.h">
-      <Filter>src\core\client_config\lb_policies</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policies\pick_first.h">
+      <Filter>src\core\lib\client_config\lb_policies</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\lb_policies\round_robin.h">
-      <Filter>src\core\client_config\lb_policies</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policies\round_robin.h">
+      <Filter>src\core\lib\client_config\lb_policies</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\lb_policy.h">
-      <Filter>src\core\client_config</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policy.h">
+      <Filter>src\core\lib\client_config</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\lb_policy_factory.h">
-      <Filter>src\core\client_config</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policy_factory.h">
+      <Filter>src\core\lib\client_config</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\lb_policy_registry.h">
-      <Filter>src\core\client_config</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\lb_policy_registry.h">
+      <Filter>src\core\lib\client_config</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\resolver.h">
-      <Filter>src\core\client_config</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\resolver.h">
+      <Filter>src\core\lib\client_config</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\resolver_factory.h">
-      <Filter>src\core\client_config</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\resolver_factory.h">
+      <Filter>src\core\lib\client_config</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\resolver_registry.h">
-      <Filter>src\core\client_config</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\resolver_registry.h">
+      <Filter>src\core\lib\client_config</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\resolvers\dns_resolver.h">
-      <Filter>src\core\client_config\resolvers</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\resolvers\dns_resolver.h">
+      <Filter>src\core\lib\client_config\resolvers</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\resolvers\sockaddr_resolver.h">
-      <Filter>src\core\client_config\resolvers</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\resolvers\sockaddr_resolver.h">
+      <Filter>src\core\lib\client_config\resolvers</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\subchannel.h">
-      <Filter>src\core\client_config</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\subchannel.h">
+      <Filter>src\core\lib\client_config</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\subchannel_factory.h">
-      <Filter>src\core\client_config</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\subchannel_factory.h">
+      <Filter>src\core\lib\client_config</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\subchannel_index.h">
-      <Filter>src\core\client_config</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\subchannel_index.h">
+      <Filter>src\core\lib\client_config</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\client_config\uri_parser.h">
-      <Filter>src\core\client_config</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\client_config\uri_parser.h">
+      <Filter>src\core\lib\client_config</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\compression\algorithm_metadata.h">
-      <Filter>src\core\compression</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\compression\algorithm_metadata.h">
+      <Filter>src\core\lib\compression</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\compression\message_compress.h">
-      <Filter>src\core\compression</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\compression\message_compress.h">
+      <Filter>src\core\lib\compression</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\debug\trace.h">
-      <Filter>src\core\debug</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\debug\trace.h">
+      <Filter>src\core\lib\debug</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\http\format_request.h">
-      <Filter>src\core\http</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\http\format_request.h">
+      <Filter>src\core\lib\http</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\http\httpcli.h">
-      <Filter>src\core\http</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\http\httpcli.h">
+      <Filter>src\core\lib\http</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\http\parser.h">
-      <Filter>src\core\http</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\http\parser.h">
+      <Filter>src\core\lib\http</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\closure.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\closure.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\endpoint.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\endpoint_pair.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\endpoint_pair.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\exec_ctx.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\exec_ctx.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\executor.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\executor.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\fd_posix.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\fd_posix.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\iocp_windows.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iocp_windows.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\iomgr.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\iomgr_internal.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_internal.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\iomgr_posix.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\iomgr_posix.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\pollset.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\pollset_posix.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_posix.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\pollset_set.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\pollset_set_posix.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set_posix.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\pollset_set_windows.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_set_windows.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\pollset_windows.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\pollset_windows.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\resolve_address.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\resolve_address.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\sockaddr.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\sockaddr_posix.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr_posix.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\sockaddr_utils.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr_utils.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\sockaddr_win32.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\sockaddr_win32.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\socket_utils_posix.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_utils_posix.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\socket_windows.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\socket_windows.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\tcp_client.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_client.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\tcp_posix.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_posix.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\tcp_server.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_server.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\tcp_windows.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\tcp_windows.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\time_averaged_stats.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\time_averaged_stats.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\timer.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\timer.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\timer_heap.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\timer_heap.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\udp_server.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\udp_server.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\unix_sockets_posix.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\unix_sockets_posix.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\wakeup_fd_pipe.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_pipe.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\wakeup_fd_posix.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\wakeup_fd_posix.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\workqueue.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\workqueue.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\workqueue_posix.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\workqueue_posix.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\iomgr\workqueue_windows.h">
-      <Filter>src\core\iomgr</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\iomgr\workqueue_windows.h">
+      <Filter>src\core\lib\iomgr</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\json\json.h">
-      <Filter>src\core\json</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json.h">
+      <Filter>src\core\lib\json</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\json\json_common.h">
-      <Filter>src\core\json</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json_common.h">
+      <Filter>src\core\lib\json</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\json\json_reader.h">
-      <Filter>src\core\json</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json_reader.h">
+      <Filter>src\core\lib\json</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\json\json_writer.h">
-      <Filter>src\core\json</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\json\json_writer.h">
+      <Filter>src\core\lib\json</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\proto\grpc\lb\v0\load_balancer.pb.h">
-      <Filter>src\core\proto\grpc\lb\v0</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\proto\grpc\lb\v0\load_balancer.pb.h">
+      <Filter>src\core\lib\proto\grpc\lb\v0</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\statistics\census_interface.h">
-      <Filter>src\core\statistics</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\statistics\census_interface.h">
+      <Filter>src\core\lib\statistics</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\statistics\census_rpc_stats.h">
-      <Filter>src\core\statistics</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\statistics\census_rpc_stats.h">
+      <Filter>src\core\lib\statistics</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\surface\api_trace.h">
-      <Filter>src\core\surface</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\api_trace.h">
+      <Filter>src\core\lib\surface</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\surface\call.h">
-      <Filter>src\core\surface</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\call.h">
+      <Filter>src\core\lib\surface</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\surface\call_test_only.h">
-      <Filter>src\core\surface</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\call_test_only.h">
+      <Filter>src\core\lib\surface</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\surface\channel.h">
-      <Filter>src\core\surface</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\channel.h">
+      <Filter>src\core\lib\surface</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\surface\channel_init.h">
-      <Filter>src\core\surface</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\channel_init.h">
+      <Filter>src\core\lib\surface</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\surface\channel_stack_type.h">
-      <Filter>src\core\surface</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\channel_stack_type.h">
+      <Filter>src\core\lib\surface</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\surface\completion_queue.h">
-      <Filter>src\core\surface</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\completion_queue.h">
+      <Filter>src\core\lib\surface</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\surface\event_string.h">
-      <Filter>src\core\surface</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\event_string.h">
+      <Filter>src\core\lib\surface</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\surface\init.h">
-      <Filter>src\core\surface</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\init.h">
+      <Filter>src\core\lib\surface</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\surface\lame_client.h">
-      <Filter>src\core\surface</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\lame_client.h">
+      <Filter>src\core\lib\surface</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\surface\server.h">
-      <Filter>src\core\surface</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\server.h">
+      <Filter>src\core\lib\surface</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\surface\surface_trace.h">
-      <Filter>src\core\surface</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\surface\surface_trace.h">
+      <Filter>src\core\lib\surface</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\byte_stream.h">
-      <Filter>src\core\transport</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\byte_stream.h">
+      <Filter>src\core\lib\transport</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\alpn.h">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\alpn.h">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\bin_encoder.h">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\bin_encoder.h">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\frame.h">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\frame.h">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\frame_data.h">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\frame_data.h">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\frame_goaway.h">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\frame_goaway.h">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\frame_ping.h">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\frame_ping.h">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\frame_rst_stream.h">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\frame_rst_stream.h">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\frame_settings.h">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\frame_settings.h">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\frame_window_update.h">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\frame_window_update.h">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\hpack_encoder.h">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\hpack_encoder.h">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\hpack_parser.h">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\hpack_parser.h">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\hpack_table.h">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\hpack_table.h">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\http2_errors.h">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\http2_errors.h">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\huffsyms.h">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\huffsyms.h">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\incoming_metadata.h">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\incoming_metadata.h">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\internal.h">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\internal.h">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\status_conversion.h">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\status_conversion.h">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\stream_map.h">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\stream_map.h">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\timeout_encoding.h">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\timeout_encoding.h">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2\varint.h">
-      <Filter>src\core\transport\chttp2</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2\varint.h">
+      <Filter>src\core\lib\transport\chttp2</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\chttp2_transport.h">
-      <Filter>src\core\transport</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\chttp2_transport.h">
+      <Filter>src\core\lib\transport</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\connectivity_state.h">
-      <Filter>src\core\transport</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\connectivity_state.h">
+      <Filter>src\core\lib\transport</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\metadata.h">
-      <Filter>src\core\transport</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\metadata.h">
+      <Filter>src\core\lib\transport</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\metadata_batch.h">
-      <Filter>src\core\transport</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\metadata_batch.h">
+      <Filter>src\core\lib\transport</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\static_metadata.h">
-      <Filter>src\core\transport</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\static_metadata.h">
+      <Filter>src\core\lib\transport</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\transport.h">
-      <Filter>src\core\transport</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\transport.h">
+      <Filter>src\core\lib\transport</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\transport\transport_impl.h">
-      <Filter>src\core\transport</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\transport\transport_impl.h">
+      <Filter>src\core\lib\transport</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\census\aggregation.h">
-      <Filter>src\core\census</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\census\aggregation.h">
+      <Filter>src\core\lib\census</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\census\mlog.h">
-      <Filter>src\core\census</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\census\mlog.h">
+      <Filter>src\core\lib\census</Filter>
     </ClInclude>
-    <ClInclude Include="$(SolutionDir)\..\src\core\census\rpc_metric_id.h">
-      <Filter>src\core\census</Filter>
+    <ClInclude Include="$(SolutionDir)\..\src\core\lib\census\rpc_metric_id.h">
+      <Filter>src\core\lib\census</Filter>
     </ClInclude>
     <ClInclude Include="$(SolutionDir)\..\third_party\nanopb\pb.h">
       <Filter>third_party\nanopb</Filter>
@@ -875,59 +875,62 @@
     <Filter Include="src\core">
       <UniqueIdentifier>{88491077-386b-2039-d14c-0c40136b5f7a}</UniqueIdentifier>
     </Filter>
-    <Filter Include="src\core\census">
-      <UniqueIdentifier>{a7596ee2-afee-3a82-7e6e-bd8b8f904e04}</UniqueIdentifier>
+    <Filter Include="src\core\lib">
+      <UniqueIdentifier>{8bd5b461-bff8-6aa8-b5a6-85da2834eb8a}</UniqueIdentifier>
     </Filter>
-    <Filter Include="src\core\channel">
-      <UniqueIdentifier>{cc102c4b-66ff-cf4c-2288-d76327e1a183}</UniqueIdentifier>
+    <Filter Include="src\core\lib\census">
+      <UniqueIdentifier>{19582d5a-dab7-9dc1-c7e9-cc147fd52e5f}</UniqueIdentifier>
     </Filter>
-    <Filter Include="src\core\client_config">
-      <UniqueIdentifier>{02bd7340-02ee-4337-ffa5-0b6ecc7cf60c}</UniqueIdentifier>
+    <Filter Include="src\core\lib\channel">
+      <UniqueIdentifier>{fb964f3d-a59c-a7ba-fee5-6072dbb94a7b}</UniqueIdentifier>
     </Filter>
-    <Filter Include="src\core\client_config\lb_policies">
-      <UniqueIdentifier>{308af086-46c7-fa66-9021-19b1c3d4a6bd}</UniqueIdentifier>
+    <Filter Include="src\core\lib\client_config">
+      <UniqueIdentifier>{29ca2974-89e4-1a74-3e4d-0d63e2f77566}</UniqueIdentifier>
     </Filter>
-    <Filter Include="src\core\client_config\resolvers">
-      <UniqueIdentifier>{dd617c24-6f07-fdff-80d5-c8610d6f815e}</UniqueIdentifier>
+    <Filter Include="src\core\lib\client_config\lb_policies">
+      <UniqueIdentifier>{6c7e36d4-6117-e0cd-c886-b9eb3c994927}</UniqueIdentifier>
     </Filter>
-    <Filter Include="src\core\compression">
-      <UniqueIdentifier>{2e3aca1d-223d-10a1-b282-7f9fc68ee6f5}</UniqueIdentifier>
+    <Filter Include="src\core\lib\client_config\resolvers">
+      <UniqueIdentifier>{2d959ef9-9703-dc92-a56f-9fe136dadfb9}</UniqueIdentifier>
     </Filter>
-    <Filter Include="src\core\debug">
-      <UniqueIdentifier>{6d8d5774-7291-554d-fafa-583463cd3fd9}</UniqueIdentifier>
+    <Filter Include="src\core\lib\compression">
+      <UniqueIdentifier>{b88002e9-185e-4e64-49f5-2d8989ce87f6}</UniqueIdentifier>
     </Filter>
-    <Filter Include="src\core\http">
-      <UniqueIdentifier>{46faed8e-5cd4-98b0-05ed-ff2ac7bc2d46}</UniqueIdentifier>
+    <Filter Include="src\core\lib\debug">
+      <UniqueIdentifier>{7f23789d-f18a-2a2d-60fe-a87dc656f539}</UniqueIdentifier>
     </Filter>
-    <Filter Include="src\core\iomgr">
-      <UniqueIdentifier>{a9df8b24-ecea-ff6d-8999-d8fa54cd70bf}</UniqueIdentifier>
+    <Filter Include="src\core\lib\http">
+      <UniqueIdentifier>{748c8078-2027-8641-f485-1d4c66466e79}</UniqueIdentifier>
     </Filter>
-    <Filter Include="src\core\json">
-      <UniqueIdentifier>{443ffc61-1bea-2477-6e54-1ddf8c139264}</UniqueIdentifier>
+    <Filter Include="src\core\lib\iomgr">
+      <UniqueIdentifier>{bb1a1cf2-6824-08f0-a9bd-3fafcaf13042}</UniqueIdentifier>
     </Filter>
-    <Filter Include="src\core\proto">
-      <UniqueIdentifier>{7f4bb22a-65ba-0f8f-6387-66b1f6677a80}</UniqueIdentifier>
+    <Filter Include="src\core\lib\json">
+      <UniqueIdentifier>{681cdaeb-c47f-8853-d985-bf13c2873947}</UniqueIdentifier>
     </Filter>
-    <Filter Include="src\core\proto\grpc">
-      <UniqueIdentifier>{9c2bd164-c317-8a13-564d-3b28b0fd79cf}</UniqueIdentifier>
+    <Filter Include="src\core\lib\proto">
+      <UniqueIdentifier>{4bfbd6c6-f6a8-c6b3-5186-b788f4e11e23}</UniqueIdentifier>
     </Filter>
-    <Filter Include="src\core\proto\grpc\lb">
-      <UniqueIdentifier>{2bad8e10-4fc5-d8b3-e026-4abbd0c25cda}</UniqueIdentifier>
+    <Filter Include="src\core\lib\proto\grpc">
+      <UniqueIdentifier>{60f3ab7d-ea44-348f-671e-77fdebbd18bb}</UniqueIdentifier>
     </Filter>
-    <Filter Include="src\core\proto\grpc\lb\v0">
-      <UniqueIdentifier>{4475c8ed-e01b-8906-47d0-8a504189c0d5}</UniqueIdentifier>
+    <Filter Include="src\core\lib\proto\grpc\lb">
+      <UniqueIdentifier>{bcd33510-32e7-c2fb-e11d-a3655f97bc84}</UniqueIdentifier>
     </Filter>
-    <Filter Include="src\core\statistics">
-      <UniqueIdentifier>{e084164c-a069-00e3-db35-4e0b1cd6f0b7}</UniqueIdentifier>
+    <Filter Include="src\core\lib\proto\grpc\lb\v0">
+      <UniqueIdentifier>{bb9b8c80-9eff-5ab6-5b29-c2d54f0fc192}</UniqueIdentifier>
     </Filter>
-    <Filter Include="src\core\surface">
-      <UniqueIdentifier>{6cd0127e-c24b-d43c-38f5-198db8d4322a}</UniqueIdentifier>
+    <Filter Include="src\core\lib\statistics">
+      <UniqueIdentifier>{d0ab6d54-ae25-fc49-3656-91d9db57366a}</UniqueIdentifier>
     </Filter>
-    <Filter Include="src\core\transport">
-      <UniqueIdentifier>{6687ff98-e36e-c0b1-2756-1bc79edec406}</UniqueIdentifier>
+    <Filter Include="src\core\lib\surface">
+      <UniqueIdentifier>{506dc3b3-d884-2b59-0dfa-57ed6affa2d3}</UniqueIdentifier>
     </Filter>
-    <Filter Include="src\core\transport\chttp2">
-      <UniqueIdentifier>{5fcd6206-f774-9ae6-4b85-305d6a723843}</UniqueIdentifier>
+    <Filter Include="src\core\lib\transport">
+      <UniqueIdentifier>{6c3394d1-27e9-003e-19ed-8116d210f7cc}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="src\core\lib\transport\chttp2">
+      <UniqueIdentifier>{212a6997-9b9c-3b47-d953-aaff34d608b1}</UniqueIdentifier>
     </Filter>
     <Filter Include="third_party">
       <UniqueIdentifier>{025c051e-8eba-125b-67f9-173f95176eb2}</UniqueIdentifier>