gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gnunet] branch master updated (9ef4abad6 -> 65dbd214b)


From: gnunet
Subject: [gnunet] branch master updated (9ef4abad6 -> 65dbd214b)
Date: Wed, 18 Oct 2023 15:15:48 +0200

This is an automated email from the git hooks/post-receive script.

martin-schanzenbach pushed a change to branch master
in repository gnunet.

    from 9ef4abad6 NEWS: Refactoring components under src/ into lib/, plugin/, 
cli/ and service/
     new 84bbd6f1b BUILD: Move curl to lib
     new 5b2527d8d BUILD: Move json to lib
     new 00407f6a3 BUILD: Move pq/sq to lib
     new cc90a65e1 BUILD: Move testing to lib
     new 14d9446a7 BUILD: Move dhtu to plugin
     new b4f068d6c BUILD: Move arm to service/cli
     new 1867346fd BUILD: Fix error code copy file
     new 2f93ff3b6 BUILD: Move core to service/cli
     new 76299f0b6 BUILD: Move experimental components to contrib
     new 65dbd214b BUILD: Move identity/rest components to service/rest-plugin

The 10 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .gitignore                                         |   2 +-
 bootstrap                                          |   2 +-
 configure.ac                                       |  57 ++++---
 po/POTFILES.in                                     | 180 ++++++++++-----------
 src/Makefile.am                                    |  37 +----
 src/cadet/Makefile.am                              |   4 +-
 src/cli/Makefile.am                                |   4 +-
 src/cli/arm/.gitignore                             |   1 +
 src/cli/arm/Makefile.am                            |  45 ++++++
 src/{ => cli}/arm/gnunet-arm.c                     |   0
 src/cli/core/.gitignore                            |   1 +
 src/cli/core/Makefile.am                           |  24 +++
 src/{ => cli}/core/gnunet-core.c                   |   0
 src/cli/identity/Makefile.am                       |  36 +++++
 src/{ => cli}/identity/gnunet-identity.c           |   0
 src/consensus/Makefile.am                          |   6 +-
 src/contrib/Makefile.am                            |   4 +
 src/contrib/service/Makefile.am                    |   9 ++
 src/{ => contrib/service}/abd/.gitignore           |   0
 src/{ => contrib/service}/abd/Makefile.am          |   8 +-
 src/{ => contrib/service}/abd/abd.conf.in          |   0
 src/{ => contrib/service}/abd/abd.h                |   0
 src/{ => contrib/service}/abd/abd_api.c            |   0
 src/{ => contrib/service}/abd/abd_serialization.c  |   0
 src/{ => contrib/service}/abd/abd_serialization.h  |   0
 src/{ => contrib/service}/abd/delegate_misc.c      |   0
 src/{ => contrib/service}/abd/delegate_misc.h      |   0
 src/{ => contrib/service}/abd/gnunet-abd.c         |   0
 src/{ => contrib/service}/abd/gnunet-service-abd.c |   0
 .../service}/abd/plugin_gnsrecord_abd.c            |   0
 src/{ => contrib/service}/abd/test_abd_bi_and.sh   |   0
 src/{ => contrib/service}/abd/test_abd_bi_and2.sh  |   0
 src/{ => contrib/service}/abd/test_abd_bi_and3.sh  |   0
 src/{ => contrib/service}/abd/test_abd_bi_and4.sh  |   0
 src/{ => contrib/service}/abd/test_abd_bi_bw.sh    |   0
 .../service}/abd/test_abd_bi_bw_link.sh            |   0
 .../service}/abd/test_abd_bi_bw_link2.sh           |   0
 src/{ => contrib/service}/abd/test_abd_bi_fw.sh    |   0
 .../service}/abd/test_abd_defaults.conf            |   0
 src/{ => contrib/service}/abd/test_abd_issue.sh    |   0
 src/{ => contrib/service}/abd/test_abd_lookup.conf |   0
 src/{ => contrib/service}/abd/test_abd_own.sh      |   0
 src/{ => contrib/service}/abd/test_abd_verify.sh   |   0
 .../service}/abd/test_abd_verify_and.sh            |   0
 .../service}/abd/test_abd_verify_simple.sh         |   0
 src/{ => contrib/service}/auction/.gitignore       |   0
 src/{ => contrib/service}/auction/Makefile.am      |   0
 src/{ => contrib/service}/auction/auction.conf     |   0
 src/{ => contrib/service}/auction/auction.h        |   0
 .../service}/auction/gnunet-auction-create.c       |   0
 .../service}/auction/gnunet-auction-info.c         |   0
 .../service}/auction/gnunet-auction-join.c         |   0
 .../service}/auction/gnunet-service-auction.c      |   0
 .../service}/auction/test_auction_api.c            |   0
 .../service}/auction/test_auction_create.sh        |   0
 src/{ => contrib/service}/rps/.gitignore           |   0
 src/{ => contrib/service}/rps/Makefile.am          |   2 +-
 .../service}/rps/gnunet-rps-profiler.c             |   0
 src/{ => contrib/service}/rps/gnunet-rps.c         |   0
 src/{ => contrib/service}/rps/gnunet-service-rps.c |   0
 .../service}/rps/gnunet-service-rps_custommap.c    |   0
 .../service}/rps/gnunet-service-rps_custommap.h    |   0
 .../service}/rps/gnunet-service-rps_sampler.c      |   0
 .../service}/rps/gnunet-service-rps_sampler.h      |   0
 .../service}/rps/gnunet-service-rps_sampler_elem.c |   0
 .../service}/rps/gnunet-service-rps_sampler_elem.h |   0
 .../service}/rps/gnunet-service-rps_view.c         |   0
 .../service}/rps/gnunet-service-rps_view.h         |   0
 src/{ => contrib/service}/rps/profiler_rps.conf    |   0
 src/{ => contrib/service}/rps/rps-sampler_client.c |   0
 src/{ => contrib/service}/rps/rps-sampler_client.h |   0
 src/{ => contrib/service}/rps/rps-sampler_common.c |   0
 src/{ => contrib/service}/rps/rps-sampler_common.h |   0
 src/{ => contrib/service}/rps/rps-test_util.c      |   0
 src/{ => contrib/service}/rps/rps-test_util.h      |   0
 src/{ => contrib/service}/rps/rps.conf.in          |   0
 src/{ => contrib/service}/rps/rps.h                |   0
 src/{ => contrib/service}/rps/rps_api.c            |   0
 src/{ => contrib/service}/rps/test_rps.c           |   0
 src/{ => contrib/service}/rps/test_rps.conf        |   0
 src/{ => contrib/service}/rps/test_rps_api.c       |   0
 .../service}/rps/test_service_rps_custommap.c      |   0
 .../service}/rps/test_service_rps_sampler_elem.c   |   0
 .../service}/rps/test_service_rps_view.c           |   0
 src/conversation/Makefile.am                       |  18 +--
 src/datacache/Makefile.am                          |  16 +-
 src/datastore/Makefile.am                          |  34 ++--
 src/dht/Makefile.am                                |   4 +-
 src/fs/Makefile.am                                 |  36 ++---
 src/gns/Makefile.am                                |  26 +--
 src/hostlist/Makefile.am                           |   4 +-
 src/lib/Makefile.am                                |  11 +-
 src/{ => lib}/curl/Makefile.am                     |   0
 src/{ => lib}/curl/curl.c                          |   0
 src/{ => lib}/curl/curl_reschedule.c               |   0
 src/{ => lib}/curl/meson.build                     |   0
 src/lib/gnsrecord/Makefile.am                      |  10 +-
 src/{ => lib}/json/.gitignore                      |   0
 src/{ => lib}/json/Makefile.am                     |   0
 src/{ => lib}/json/json.c                          |   0
 src/{ => lib}/json/json_generator.c                |   0
 src/{ => lib}/json/json_helper.c                   |   0
 src/{ => lib}/json/json_mhd.c                      |   0
 src/{ => lib}/json/json_pack.c                     |   0
 src/{ => lib}/json/meson.build                     |   0
 src/{ => lib}/json/test_json.c                     |   0
 src/{ => lib}/json/test_json_mhd.c                 |   0
 src/{ => lib}/pq/.gitignore                        |   0
 src/{ => lib}/pq/Makefile.am                       |   0
 src/{ => lib}/pq/meson.build                       |   0
 src/{ => lib}/pq/pq.c                              |   0
 src/{ => lib}/pq/pq.h                              |   0
 src/{ => lib}/pq/pq_connect.c                      |   0
 src/{ => lib}/pq/pq_eval.c                         |   0
 src/{ => lib}/pq/pq_event.c                        |   0
 src/{ => lib}/pq/pq_exec.c                         |   0
 src/{ => lib}/pq/pq_prepare.c                      |   0
 src/{ => lib}/pq/pq_query_helper.c                 |   0
 src/{ => lib}/pq/pq_result_helper.c                |   0
 src/{ => lib}/pq/test_pq.c                         |   0
 src/{ => lib}/pq/versioning.sql                    |   0
 src/{ => lib}/sq/.gitignore                        |   0
 src/{ => lib}/sq/Makefile.am                       |   0
 src/{ => lib}/sq/meson.build                       |   0
 src/{ => lib}/sq/sq.c                              |   0
 src/{ => lib}/sq/sq_exec.c                         |   0
 src/{ => lib}/sq/sq_prepare.c                      |   0
 src/{ => lib}/sq/sq_query_helper.c                 |   0
 src/{ => lib}/sq/sq_result_helper.c                |   0
 src/{ => lib}/sq/test_sq.c                         |   0
 src/{ => lib}/testing/.gitignore                   |   0
 src/{ => lib}/testing/Makefile.am                  |   2 +-
 src/{ => lib}/testing/gnunet-cmds-helper.c         |   0
 src/{ => lib}/testing/gnunet-testing.c             |   0
 src/{ => lib}/testing/list-keys.c                  |   0
 src/{ => lib}/testing/meson.build                  |   0
 src/{ => lib}/testing/test_testing_defaults.conf   |   0
 src/{ => lib}/testing/test_testing_peerstartup.c   |   0
 src/{ => lib}/testing/test_testing_peerstartup2.c  |   0
 .../testing/test_testing_portreservation.c         |   0
 .../testing/test_testing_servicestartup.c          |   0
 .../testing/test_testing_sharedservices.c          |   0
 .../testing/test_testing_sharedservices.conf       |   0
 .../testing/test_testing_start_with_config.c       |   0
 src/{ => lib}/testing/testing.c                    |   0
 src/{ => lib}/testing/testing.conf                 |   0
 src/{ => lib}/testing/testing.h                    |   0
 src/{ => lib}/testing/testing_api_cmd_barrier.c    |   0
 .../testing/testing_api_cmd_barrier_reached.c      |   0
 src/{ => lib}/testing/testing_api_cmd_batch.c      |   0
 .../testing_api_cmd_block_until_external_trigger.c |   0
 .../testing/testing_api_cmd_exec_bash_script.c     |   0
 src/{ => lib}/testing/testing_api_cmd_finish.c     |   0
 .../testing/testing_api_cmd_local_test_prepared.c  |   0
 .../testing/testing_api_cmd_netjail_start.c        |   0
 .../testing_api_cmd_netjail_start_cmds_helper.c    |   0
 .../testing/testing_api_cmd_netjail_stop.c         |   0
 .../testing_api_cmd_netjail_stop_cmds_helper.c     |   0
 .../testing/testing_api_cmd_send_peer_ready.c      |   0
 src/{ => lib}/testing/testing_api_cmd_start_peer.c |   0
 src/{ => lib}/testing/testing_api_cmd_stop_peer.c  |   0
 .../testing/testing_api_cmd_system_create.c        |   0
 .../testing/testing_api_cmd_system_destroy.c       |   0
 src/{ => lib}/testing/testing_api_loop.c           |   0
 src/{ => lib}/testing/testing_api_traits.c         |   0
 src/{ => lib}/testing/testing_cmds.h               |   0
 src/{ => lib}/testing/topo.sh                      |   0
 src/messenger/Makefile.am                          |   8 +-
 src/namecache/Makefile.am                          |  26 +--
 src/namestore/Makefile.am                          | 160 +++++++++---------
 src/nse/Makefile.am                                |   6 +-
 src/peerstore/Makefile.am                          |  16 +-
 src/plugin/Makefile.am                             |   3 +-
 src/{ => plugin}/dhtu/.gitignore                   |   0
 src/{ => plugin}/dhtu/Makefile.am                  |  10 +-
 src/{ => plugin}/dhtu/dhtu.conf                    |   0
 src/{ => plugin}/dhtu/meson.build                  |   0
 src/{ => plugin}/dhtu/plugin_dhtu_gnunet.c         |   0
 src/{ => plugin}/dhtu/plugin_dhtu_ip.c             |   0
 src/{ => plugin}/dhtu/test_dhtu_ip.c               |   0
 src/{ => plugin}/dhtu/testing_dhtu_cmd_send.c      |   0
 src/pt/Makefile.am                                 |  12 +-
 src/reclaim/Makefile.am                            |  28 ++--
 src/regex/Makefile.am                              |   4 +-
 src/rest-plugin/Makefile.am                        |   3 +
 src/rest-plugin/identity/Makefile.am               |  26 +++
 .../identity/plugin_rest_identity.c                |   2 +-
 src/{ => rest-plugin}/rest/Makefile.am             |  35 +---
 src/{ => rest-plugin}/rest/plugin_rest_config.c    |   0
 src/{ => rest-plugin}/rest/plugin_rest_copying.c   |   0
 src/revocation/Makefile.am                         |  18 +--
 src/secretsharing/Makefile.am                      |   4 +-
 src/service/Makefile.am                            |   6 +-
 src/{ => service}/arm/.gitignore                   |   2 +-
 src/{ => service}/arm/Makefile.am                  |  27 +---
 src/{ => service}/arm/arm.conf.in                  |   0
 src/{ => service}/arm/arm.h                        |   0
 src/{ => service}/arm/arm_api.c                    |   0
 src/{ => service}/arm/arm_monitor_api.c            |   0
 src/{ => service}/arm/gnunet-service-arm.c         |   0
 src/{ => service}/arm/meson.build                  |   0
 src/{ => service}/arm/mockup-service.c             |   0
 src/{ => service}/arm/mockup_service               |   0
 src/{ => service}/arm/test_arm_api.c               |   0
 src/{ => service}/arm/test_arm_api_data.conf       |   0
 src/{ => service}/arm/test_exponential_backoff.c   |   0
 src/{ => service}/arm/test_gnunet_arm.py.in        |   0
 src/{ => service}/arm/test_gnunet_service_arm.c    |   0
 src/{ => service}/core/.gitignore                  |   2 +-
 src/{ => service}/core/Makefile.am                 |  23 +--
 src/{ => service}/core/core.conf.in                |   0
 src/{ => service}/core/core.h                      |   0
 src/{ => service}/core/core_api.c                  |   0
 .../core/core_api_cmd_connecting_peers.c           |   0
 src/{ => service}/core/core_api_monitor_peers.c    |   0
 src/{ => service}/core/gnunet-service-core.c       |   0
 src/{ => service}/core/gnunet-service-core.h       |   0
 src/{ => service}/core/gnunet-service-core_kx.c    |   0
 src/{ => service}/core/gnunet-service-core_kx.h    |   0
 .../core/gnunet-service-core_sessions.c            |   0
 .../core/gnunet-service-core_sessions.h            |   0
 .../core/gnunet-service-core_typemap.c             |   0
 .../core/gnunet-service-core_typemap.h             |   0
 src/{ => service}/core/meson.build                 |   0
 src/{ => service}/core/test_core_api.c             |   0
 src/{ => service}/core/test_core_api_data.conf     |   0
 src/{ => service}/core/test_core_api_peer1.conf    |   0
 src/{ => service}/core/test_core_api_peer2.conf    |   0
 src/{ => service}/core/test_core_api_reliability.c |   0
 .../core/test_core_api_send_to_self.c              |   0
 .../core/test_core_api_send_to_self.conf           |   0
 src/{ => service}/core/test_core_api_start_only.c  |   0
 src/{ => service}/core/test_core_defaults.conf     |   0
 .../core/test_core_plugin_cmd_just_run.c           |   0
 ...t_core_quota_asymmetric_recv_limited_peer1.conf |   0
 ...t_core_quota_asymmetric_recv_limited_peer2.conf |   0
 ...est_core_quota_asymmetric_send_limit_peer1.conf |   0
 ...est_core_quota_asymmetric_send_limit_peer2.conf |   0
 .../core/test_core_quota_compliance.c              |   0
 src/{ => service}/core/test_core_quota_peer1.conf  |   0
 src/{ => service}/core/test_core_quota_peer2.conf  |   0
 src/{ => service}/core/test_core_start_testcase.sh |   0
 src/{ => service}/identity/.gitignore              |   0
 src/{ => service}/identity/Makefile.am             |  30 +---
 .../identity/gnunet-service-identity.c             |   0
 src/{ => service}/identity/identity.conf.in        |   0
 src/{ => service}/identity/identity.h              |   0
 src/{ => service}/identity/identity_api.c          |   0
 src/{ => service}/identity/identity_api_lookup.c   |   0
 .../identity/identity_api_suffix_lookup.c          |   0
 src/{ => service}/identity/meson.build             |   0
 src/{ => service}/identity/test_identity.c         |   0
 src/{ => service}/identity/test_identity.conf      |   0
 .../identity/test_identity_messages.sh             |   0
 .../identity/test_plugin_rest_identity.sh          |   0
 .../test_plugin_rest_identity_signature.sh         |   0
 src/{ => service}/rest/.gitignore                  |   0
 src/{ => service}/rest/Makefile.am                 |  26 ---
 src/{ => service}/rest/gnunet-rest-server.c        |   0
 src/{ => service}/rest/meson.build                 |   0
 src/{ => service}/rest/rest.c                      |   0
 src/{ => service}/rest/rest.conf                   |   0
 src/set/Makefile.am                                |  12 +-
 src/seti/Makefile.am                               |   6 +-
 src/setu/Makefile.am                               |   8 +-
 src/topology/Makefile.am                           |   2 +-
 src/transport/Makefile.am                          |  46 +++---
 src/zonemaster/Makefile.am                         |   2 +-
 268 files changed, 578 insertions(+), 558 deletions(-)
 create mode 100644 src/cli/arm/.gitignore
 create mode 100644 src/cli/arm/Makefile.am
 rename src/{ => cli}/arm/gnunet-arm.c (100%)
 create mode 100644 src/cli/core/.gitignore
 create mode 100644 src/cli/core/Makefile.am
 rename src/{ => cli}/core/gnunet-core.c (100%)
 create mode 100644 src/cli/identity/Makefile.am
 rename src/{ => cli}/identity/gnunet-identity.c (100%)
 create mode 100644 src/contrib/Makefile.am
 create mode 100644 src/contrib/service/Makefile.am
 rename src/{ => contrib/service}/abd/.gitignore (100%)
 rename src/{ => contrib/service}/abd/Makefile.am (89%)
 rename src/{ => contrib/service}/abd/abd.conf.in (100%)
 rename src/{ => contrib/service}/abd/abd.h (100%)
 rename src/{ => contrib/service}/abd/abd_api.c (100%)
 rename src/{ => contrib/service}/abd/abd_serialization.c (100%)
 rename src/{ => contrib/service}/abd/abd_serialization.h (100%)
 rename src/{ => contrib/service}/abd/delegate_misc.c (100%)
 rename src/{ => contrib/service}/abd/delegate_misc.h (100%)
 rename src/{ => contrib/service}/abd/gnunet-abd.c (100%)
 rename src/{ => contrib/service}/abd/gnunet-service-abd.c (100%)
 rename src/{ => contrib/service}/abd/plugin_gnsrecord_abd.c (100%)
 rename src/{ => contrib/service}/abd/test_abd_bi_and.sh (100%)
 rename src/{ => contrib/service}/abd/test_abd_bi_and2.sh (100%)
 rename src/{ => contrib/service}/abd/test_abd_bi_and3.sh (100%)
 rename src/{ => contrib/service}/abd/test_abd_bi_and4.sh (100%)
 rename src/{ => contrib/service}/abd/test_abd_bi_bw.sh (100%)
 rename src/{ => contrib/service}/abd/test_abd_bi_bw_link.sh (100%)
 rename src/{ => contrib/service}/abd/test_abd_bi_bw_link2.sh (100%)
 rename src/{ => contrib/service}/abd/test_abd_bi_fw.sh (100%)
 rename src/{ => contrib/service}/abd/test_abd_defaults.conf (100%)
 rename src/{ => contrib/service}/abd/test_abd_issue.sh (100%)
 rename src/{ => contrib/service}/abd/test_abd_lookup.conf (100%)
 rename src/{ => contrib/service}/abd/test_abd_own.sh (100%)
 rename src/{ => contrib/service}/abd/test_abd_verify.sh (100%)
 rename src/{ => contrib/service}/abd/test_abd_verify_and.sh (100%)
 rename src/{ => contrib/service}/abd/test_abd_verify_simple.sh (100%)
 rename src/{ => contrib/service}/auction/.gitignore (100%)
 rename src/{ => contrib/service}/auction/Makefile.am (100%)
 rename src/{ => contrib/service}/auction/auction.conf (100%)
 rename src/{ => contrib/service}/auction/auction.h (100%)
 rename src/{ => contrib/service}/auction/gnunet-auction-create.c (100%)
 rename src/{ => contrib/service}/auction/gnunet-auction-info.c (100%)
 rename src/{ => contrib/service}/auction/gnunet-auction-join.c (100%)
 rename src/{ => contrib/service}/auction/gnunet-service-auction.c (100%)
 rename src/{ => contrib/service}/auction/test_auction_api.c (100%)
 rename src/{ => contrib/service}/auction/test_auction_create.sh (100%)
 rename src/{ => contrib/service}/rps/.gitignore (100%)
 rename src/{ => contrib/service}/rps/Makefile.am (98%)
 rename src/{ => contrib/service}/rps/gnunet-rps-profiler.c (100%)
 rename src/{ => contrib/service}/rps/gnunet-rps.c (100%)
 rename src/{ => contrib/service}/rps/gnunet-service-rps.c (100%)
 rename src/{ => contrib/service}/rps/gnunet-service-rps_custommap.c (100%)
 rename src/{ => contrib/service}/rps/gnunet-service-rps_custommap.h (100%)
 rename src/{ => contrib/service}/rps/gnunet-service-rps_sampler.c (100%)
 rename src/{ => contrib/service}/rps/gnunet-service-rps_sampler.h (100%)
 rename src/{ => contrib/service}/rps/gnunet-service-rps_sampler_elem.c (100%)
 rename src/{ => contrib/service}/rps/gnunet-service-rps_sampler_elem.h (100%)
 rename src/{ => contrib/service}/rps/gnunet-service-rps_view.c (100%)
 rename src/{ => contrib/service}/rps/gnunet-service-rps_view.h (100%)
 rename src/{ => contrib/service}/rps/profiler_rps.conf (100%)
 rename src/{ => contrib/service}/rps/rps-sampler_client.c (100%)
 rename src/{ => contrib/service}/rps/rps-sampler_client.h (100%)
 rename src/{ => contrib/service}/rps/rps-sampler_common.c (100%)
 rename src/{ => contrib/service}/rps/rps-sampler_common.h (100%)
 rename src/{ => contrib/service}/rps/rps-test_util.c (100%)
 rename src/{ => contrib/service}/rps/rps-test_util.h (100%)
 rename src/{ => contrib/service}/rps/rps.conf.in (100%)
 rename src/{ => contrib/service}/rps/rps.h (100%)
 rename src/{ => contrib/service}/rps/rps_api.c (100%)
 rename src/{ => contrib/service}/rps/test_rps.c (100%)
 rename src/{ => contrib/service}/rps/test_rps.conf (100%)
 rename src/{ => contrib/service}/rps/test_rps_api.c (100%)
 rename src/{ => contrib/service}/rps/test_service_rps_custommap.c (100%)
 rename src/{ => contrib/service}/rps/test_service_rps_sampler_elem.c (100%)
 rename src/{ => contrib/service}/rps/test_service_rps_view.c (100%)
 rename src/{ => lib}/curl/Makefile.am (100%)
 rename src/{ => lib}/curl/curl.c (100%)
 rename src/{ => lib}/curl/curl_reschedule.c (100%)
 rename src/{ => lib}/curl/meson.build (100%)
 rename src/{ => lib}/json/.gitignore (100%)
 rename src/{ => lib}/json/Makefile.am (100%)
 rename src/{ => lib}/json/json.c (100%)
 rename src/{ => lib}/json/json_generator.c (100%)
 rename src/{ => lib}/json/json_helper.c (100%)
 rename src/{ => lib}/json/json_mhd.c (100%)
 rename src/{ => lib}/json/json_pack.c (100%)
 rename src/{ => lib}/json/meson.build (100%)
 rename src/{ => lib}/json/test_json.c (100%)
 rename src/{ => lib}/json/test_json_mhd.c (100%)
 rename src/{ => lib}/pq/.gitignore (100%)
 rename src/{ => lib}/pq/Makefile.am (100%)
 rename src/{ => lib}/pq/meson.build (100%)
 rename src/{ => lib}/pq/pq.c (100%)
 rename src/{ => lib}/pq/pq.h (100%)
 rename src/{ => lib}/pq/pq_connect.c (100%)
 rename src/{ => lib}/pq/pq_eval.c (100%)
 rename src/{ => lib}/pq/pq_event.c (100%)
 rename src/{ => lib}/pq/pq_exec.c (100%)
 rename src/{ => lib}/pq/pq_prepare.c (100%)
 rename src/{ => lib}/pq/pq_query_helper.c (100%)
 rename src/{ => lib}/pq/pq_result_helper.c (100%)
 rename src/{ => lib}/pq/test_pq.c (100%)
 rename src/{ => lib}/pq/versioning.sql (100%)
 rename src/{ => lib}/sq/.gitignore (100%)
 rename src/{ => lib}/sq/Makefile.am (100%)
 rename src/{ => lib}/sq/meson.build (100%)
 rename src/{ => lib}/sq/sq.c (100%)
 rename src/{ => lib}/sq/sq_exec.c (100%)
 rename src/{ => lib}/sq/sq_prepare.c (100%)
 rename src/{ => lib}/sq/sq_query_helper.c (100%)
 rename src/{ => lib}/sq/sq_result_helper.c (100%)
 rename src/{ => lib}/sq/test_sq.c (100%)
 rename src/{ => lib}/testing/.gitignore (100%)
 rename src/{ => lib}/testing/Makefile.am (98%)
 rename src/{ => lib}/testing/gnunet-cmds-helper.c (100%)
 rename src/{ => lib}/testing/gnunet-testing.c (100%)
 rename src/{ => lib}/testing/list-keys.c (100%)
 rename src/{ => lib}/testing/meson.build (100%)
 rename src/{ => lib}/testing/test_testing_defaults.conf (100%)
 rename src/{ => lib}/testing/test_testing_peerstartup.c (100%)
 rename src/{ => lib}/testing/test_testing_peerstartup2.c (100%)
 rename src/{ => lib}/testing/test_testing_portreservation.c (100%)
 rename src/{ => lib}/testing/test_testing_servicestartup.c (100%)
 rename src/{ => lib}/testing/test_testing_sharedservices.c (100%)
 rename src/{ => lib}/testing/test_testing_sharedservices.conf (100%)
 rename src/{ => lib}/testing/test_testing_start_with_config.c (100%)
 rename src/{ => lib}/testing/testing.c (100%)
 rename src/{ => lib}/testing/testing.conf (100%)
 rename src/{ => lib}/testing/testing.h (100%)
 rename src/{ => lib}/testing/testing_api_cmd_barrier.c (100%)
 rename src/{ => lib}/testing/testing_api_cmd_barrier_reached.c (100%)
 rename src/{ => lib}/testing/testing_api_cmd_batch.c (100%)
 rename src/{ => lib}/testing/testing_api_cmd_block_until_external_trigger.c 
(100%)
 rename src/{ => lib}/testing/testing_api_cmd_exec_bash_script.c (100%)
 rename src/{ => lib}/testing/testing_api_cmd_finish.c (100%)
 rename src/{ => lib}/testing/testing_api_cmd_local_test_prepared.c (100%)
 rename src/{ => lib}/testing/testing_api_cmd_netjail_start.c (100%)
 rename src/{ => lib}/testing/testing_api_cmd_netjail_start_cmds_helper.c (100%)
 rename src/{ => lib}/testing/testing_api_cmd_netjail_stop.c (100%)
 rename src/{ => lib}/testing/testing_api_cmd_netjail_stop_cmds_helper.c (100%)
 rename src/{ => lib}/testing/testing_api_cmd_send_peer_ready.c (100%)
 rename src/{ => lib}/testing/testing_api_cmd_start_peer.c (100%)
 rename src/{ => lib}/testing/testing_api_cmd_stop_peer.c (100%)
 rename src/{ => lib}/testing/testing_api_cmd_system_create.c (100%)
 rename src/{ => lib}/testing/testing_api_cmd_system_destroy.c (100%)
 rename src/{ => lib}/testing/testing_api_loop.c (100%)
 rename src/{ => lib}/testing/testing_api_traits.c (100%)
 rename src/{ => lib}/testing/testing_cmds.h (100%)
 rename src/{ => lib}/testing/topo.sh (100%)
 rename src/{ => plugin}/dhtu/.gitignore (100%)
 rename src/{ => plugin}/dhtu/Makefile.am (86%)
 rename src/{ => plugin}/dhtu/dhtu.conf (100%)
 rename src/{ => plugin}/dhtu/meson.build (100%)
 rename src/{ => plugin}/dhtu/plugin_dhtu_gnunet.c (100%)
 rename src/{ => plugin}/dhtu/plugin_dhtu_ip.c (100%)
 rename src/{ => plugin}/dhtu/test_dhtu_ip.c (100%)
 rename src/{ => plugin}/dhtu/testing_dhtu_cmd_send.c (100%)
 create mode 100644 src/rest-plugin/Makefile.am
 create mode 100644 src/rest-plugin/identity/Makefile.am
 rename src/{ => rest-plugin}/identity/plugin_rest_identity.c (99%)
 copy src/{ => rest-plugin}/rest/Makefile.am (60%)
 rename src/{ => rest-plugin}/rest/plugin_rest_config.c (100%)
 rename src/{ => rest-plugin}/rest/plugin_rest_copying.c (100%)
 rename src/{ => service}/arm/.gitignore (91%)
 rename src/{ => service}/arm/Makefile.am (65%)
 rename src/{ => service}/arm/arm.conf.in (100%)
 rename src/{ => service}/arm/arm.h (100%)
 rename src/{ => service}/arm/arm_api.c (100%)
 rename src/{ => service}/arm/arm_monitor_api.c (100%)
 rename src/{ => service}/arm/gnunet-service-arm.c (100%)
 rename src/{ => service}/arm/meson.build (100%)
 rename src/{ => service}/arm/mockup-service.c (100%)
 rename src/{ => service}/arm/mockup_service (100%)
 rename src/{ => service}/arm/test_arm_api.c (100%)
 rename src/{ => service}/arm/test_arm_api_data.conf (100%)
 rename src/{ => service}/arm/test_exponential_backoff.c (100%)
 rename src/{ => service}/arm/test_gnunet_arm.py.in (100%)
 rename src/{ => service}/arm/test_gnunet_service_arm.c (100%)
 rename src/{ => service}/core/.gitignore (95%)
 rename src/{ => service}/core/Makefile.am (87%)
 rename src/{ => service}/core/core.conf.in (100%)
 rename src/{ => service}/core/core.h (100%)
 rename src/{ => service}/core/core_api.c (100%)
 rename src/{ => service}/core/core_api_cmd_connecting_peers.c (100%)
 rename src/{ => service}/core/core_api_monitor_peers.c (100%)
 rename src/{ => service}/core/gnunet-service-core.c (100%)
 rename src/{ => service}/core/gnunet-service-core.h (100%)
 rename src/{ => service}/core/gnunet-service-core_kx.c (100%)
 rename src/{ => service}/core/gnunet-service-core_kx.h (100%)
 rename src/{ => service}/core/gnunet-service-core_sessions.c (100%)
 rename src/{ => service}/core/gnunet-service-core_sessions.h (100%)
 rename src/{ => service}/core/gnunet-service-core_typemap.c (100%)
 rename src/{ => service}/core/gnunet-service-core_typemap.h (100%)
 rename src/{ => service}/core/meson.build (100%)
 rename src/{ => service}/core/test_core_api.c (100%)
 rename src/{ => service}/core/test_core_api_data.conf (100%)
 rename src/{ => service}/core/test_core_api_peer1.conf (100%)
 rename src/{ => service}/core/test_core_api_peer2.conf (100%)
 rename src/{ => service}/core/test_core_api_reliability.c (100%)
 rename src/{ => service}/core/test_core_api_send_to_self.c (100%)
 rename src/{ => service}/core/test_core_api_send_to_self.conf (100%)
 rename src/{ => service}/core/test_core_api_start_only.c (100%)
 rename src/{ => service}/core/test_core_defaults.conf (100%)
 rename src/{ => service}/core/test_core_plugin_cmd_just_run.c (100%)
 rename src/{ => 
service}/core/test_core_quota_asymmetric_recv_limited_peer1.conf (100%)
 rename src/{ => 
service}/core/test_core_quota_asymmetric_recv_limited_peer2.conf (100%)
 rename src/{ => service}/core/test_core_quota_asymmetric_send_limit_peer1.conf 
(100%)
 rename src/{ => service}/core/test_core_quota_asymmetric_send_limit_peer2.conf 
(100%)
 rename src/{ => service}/core/test_core_quota_compliance.c (100%)
 rename src/{ => service}/core/test_core_quota_peer1.conf (100%)
 rename src/{ => service}/core/test_core_quota_peer2.conf (100%)
 rename src/{ => service}/core/test_core_start_testcase.sh (100%)
 rename src/{ => service}/identity/.gitignore (100%)
 rename src/{ => service}/identity/Makefile.am (63%)
 rename src/{ => service}/identity/gnunet-service-identity.c (100%)
 rename src/{ => service}/identity/identity.conf.in (100%)
 rename src/{ => service}/identity/identity.h (100%)
 rename src/{ => service}/identity/identity_api.c (100%)
 rename src/{ => service}/identity/identity_api_lookup.c (100%)
 rename src/{ => service}/identity/identity_api_suffix_lookup.c (100%)
 rename src/{ => service}/identity/meson.build (100%)
 rename src/{ => service}/identity/test_identity.c (100%)
 rename src/{ => service}/identity/test_identity.conf (100%)
 rename src/{ => service}/identity/test_identity_messages.sh (100%)
 rename src/{ => service}/identity/test_plugin_rest_identity.sh (100%)
 rename src/{ => service}/identity/test_plugin_rest_identity_signature.sh (100%)
 rename src/{ => service}/rest/.gitignore (100%)
 rename src/{ => service}/rest/Makefile.am (52%)
 rename src/{ => service}/rest/gnunet-rest-server.c (100%)
 rename src/{ => service}/rest/meson.build (100%)
 rename src/{ => service}/rest/rest.c (100%)
 rename src/{ => service}/rest/rest.conf (100%)

diff --git a/.gitignore b/.gitignore
index 8ac75efce..cfb634b8e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -41,7 +41,7 @@ lynXified.*
 missing
 po/*.gmo
 pkgconfig/*.pc
-src/*/*.conf
+src/**/*.conf
 stamp-h1
 test-driver
 INSTALL
diff --git a/bootstrap b/bootstrap
index c8ab88b33..b635132a0 100755
--- a/bootstrap
+++ b/bootstrap
@@ -164,7 +164,7 @@ gana_update()
       cd ../gnunet-error-codes && \
          make >/dev/null && \
          cp gnunet_error_codes.h ../../../src/include && \
-         cp gnunet_error_codes.c ../../../src/util || exit 1
+         cp gnunet_error_codes.c ../../../src/lib/util || exit 1
       cd $cwd
     else
       echo "ERROR: No recutils found! Unable to generate recent GANA headers 
and configs."
diff --git a/configure.ac b/configure.ac
index da5b39712..251e35ed6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1228,29 +1228,54 @@ doc/doxygen/Makefile
 m4/Makefile
 po/Makefile.in
 src/Makefile
-src/arm/Makefile
-src/arm/arm.conf
-src/auction/Makefile
+src/lib/Makefile
+src/lib/util/Makefile
+src/lib/util/resolver.conf
 src/lib/block/Makefile
+src/lib/curl/Makefile
 src/lib/gnsrecord/Makefile
+src/lib/json/Makefile
+src/lib/pq/Makefile
+src/lib/sq/Makefile
+src/lib/testing/Makefile
 src/plugin/Makefile
 src/plugin/block/Makefile
+src/plugin/dhtu/Makefile
 src/plugin/gnsrecord/Makefile
+src/service/Makefile
+src/service/arm/Makefile
+src/service/arm/arm.conf
+src/service/core/Makefile
+src/service/core/core.conf
+src/service/identity/Makefile
+src/service/identity/identity.conf
+src/service/rest/Makefile
+src/service/util/Makefile
+src/rest-plugin/Makefile
+src/rest-plugin/identity/Makefile
+src/rest-plugin/rest/Makefile
+src/cli/Makefile
+src/cli/arm/Makefile
+src/cli/core/Makefile
+src/cli/util/Makefile
+src/contrib/Makefile
+src/contrib/service/Makefile
+src/contrib/service/abd/Makefile
+src/contrib/service/abd/abd.conf
+src/contrib/service/auction/Makefile
+src/contrib/service/rps/Makefile
+src/contrib/service/rps/rps.conf
 src/cadet/Makefile
 src/cadet/cadet.conf
-src/core/Makefile
-src/core/core.conf
 src/consensus/Makefile
 src/consensus/consensus.conf
 src/conversation/Makefile
 src/conversation/conversation.conf
-src/curl/Makefile
 src/datacache/Makefile
 src/datastore/Makefile
 src/datastore/datastore.conf
 src/dht/Makefile
 src/dht/dht.conf
-src/dhtu/Makefile
 src/dns/Makefile
 src/dns/dns.conf
 src/exit/Makefile
@@ -1260,11 +1285,8 @@ src/gns/Makefile
 src/gns/gns.conf
 src/gns/nss/Makefile
 src/lib/hello/Makefile
-src/identity/Makefile
-src/identity/identity.conf
 src/include/Makefile
 src/include/gnunet_config.h
-src/json/Makefile
 src/hostlist/Makefile
 src/namecache/Makefile
 src/namecache/namecache.conf
@@ -1278,14 +1300,11 @@ src/nse/Makefile
 src/nse/nse.conf
 src/peerstore/Makefile
 src/peerstore/peerstore.conf
-src/pq/Makefile
 src/pt/Makefile
 src/regex/Makefile
 src/regex/regex.conf
 src/revocation/Makefile
 src/revocation/revocation.conf
-src/rps/Makefile
-src/rps/rps.conf
 src/secretsharing/Makefile
 src/secretsharing/secretsharing.conf
 src/scalarproduct/Makefile
@@ -1296,28 +1315,16 @@ src/seti/Makefile
 src/seti/seti.conf
 src/setu/Makefile
 src/setu/setu.conf
-src/sq/Makefile
 src/statistics/Makefile
 src/statistics/statistics.conf
 src/template/Makefile
-src/testing/Makefile
 src/topology/Makefile
 src/transport/Makefile
 src/transport/transport.conf
-src/lib/Makefile
-src/lib/util/Makefile
-src/lib/util/resolver.conf
-src/service/Makefile
-src/service/util/Makefile
-src/cli/Makefile
-src/cli/util/Makefile
 src/vpn/Makefile
 src/vpn/vpn.conf
 src/zonemaster/Makefile
 src/zonemaster/zonemaster.conf
-src/rest/Makefile
-src/abd/Makefile
-src/abd/abd.conf
 src/reclaim/Makefile
 src/messenger/Makefile
 src/messenger/messenger.conf
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 7ae248c18..7ae79a60d 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -1,18 +1,3 @@
-src/abd/abd_api.c
-src/abd/abd_serialization.c
-src/abd/delegate_misc.c
-src/abd/gnunet-abd.c
-src/abd/gnunet-service-abd.c
-src/abd/plugin_gnsrecord_abd.c
-src/arm/arm_api.c
-src/arm/arm_monitor_api.c
-src/arm/gnunet-arm.c
-src/arm/gnunet-service-arm.c
-src/arm/mockup-service.c
-src/auction/gnunet-auction-create.c
-src/auction/gnunet-auction-info.c
-src/auction/gnunet-auction-join.c
-src/auction/gnunet-service-auction.c
 src/cadet/cadet_api.c
 src/cadet/cadet_api_drop_message.c
 src/cadet/cadet_api_get_channel.c
@@ -32,6 +17,9 @@ src/cadet/gnunet-service-cadet_hello.c
 src/cadet/gnunet-service-cadet_paths.c
 src/cadet/gnunet-service-cadet_peer.c
 src/cadet/gnunet-service-cadet_tunnels.c
+src/cli/arm/gnunet-arm.c
+src/cli/core/gnunet-core.c
+src/cli/identity/gnunet-identity.c
 src/cli/util/gnunet-base32.c
 src/cli/util/gnunet-config-diff.c
 src/cli/util/gnunet-config.c
@@ -45,6 +33,27 @@ src/cli/util/gnunet-uri.c
 src/consensus/consensus_api.c
 src/consensus/gnunet-service-consensus.c
 src/consensus/plugin_block_consensus.c
+src/contrib/service/abd/abd_api.c
+src/contrib/service/abd/abd_serialization.c
+src/contrib/service/abd/delegate_misc.c
+src/contrib/service/abd/gnunet-abd.c
+src/contrib/service/abd/gnunet-service-abd.c
+src/contrib/service/abd/plugin_gnsrecord_abd.c
+src/contrib/service/auction/gnunet-auction-create.c
+src/contrib/service/auction/gnunet-auction-info.c
+src/contrib/service/auction/gnunet-auction-join.c
+src/contrib/service/auction/gnunet-service-auction.c
+src/contrib/service/rps/gnunet-rps-profiler.c
+src/contrib/service/rps/gnunet-rps.c
+src/contrib/service/rps/gnunet-service-rps.c
+src/contrib/service/rps/gnunet-service-rps_custommap.c
+src/contrib/service/rps/gnunet-service-rps_sampler.c
+src/contrib/service/rps/gnunet-service-rps_sampler_elem.c
+src/contrib/service/rps/gnunet-service-rps_view.c
+src/contrib/service/rps/rps-sampler_client.c
+src/contrib/service/rps/rps-sampler_common.c
+src/contrib/service/rps/rps-test_util.c
+src/contrib/service/rps/rps_api.c
 src/conversation/conversation_api.c
 src/conversation/conversation_api_call.c
 src/conversation/gnunet-conversation-test.c
@@ -59,16 +68,6 @@ src/conversation/gnunet_gst_test.c
 src/conversation/microphone.c
 src/conversation/plugin_gnsrecord_conversation.c
 src/conversation/speaker.c
-src/core/core_api.c
-src/core/core_api_cmd_connecting_peers.c
-src/core/core_api_monitor_peers.c
-src/core/gnunet-core.c
-src/core/gnunet-service-core.c
-src/core/gnunet-service-core_kx.c
-src/core/gnunet-service-core_sessions.c
-src/core/gnunet-service-core_typemap.c
-src/curl/curl.c
-src/curl/curl_reschedule.c
 src/datacache/datacache.c
 src/datacache/plugin_datacache_heap.c
 src/datacache/plugin_datacache_postgres.c
@@ -94,9 +93,6 @@ src/dht/gnunet-service-dht_neighbours.c
 src/dht/gnunet-service-dht_routing.c
 src/dht/gnunet_dht_profiler.c
 src/dht/plugin_block_dht.c
-src/dhtu/plugin_dhtu_gnunet.c
-src/dhtu/plugin_dhtu_ip.c
-src/dhtu/testing_dhtu_cmd_send.c
 src/dns/dns_api.c
 src/dns/gnunet-dns-monitor.c
 src/dns/gnunet-dns-redirector.c
@@ -165,19 +161,10 @@ src/gns/plugin_rest_gns.c
 src/hostlist/gnunet-daemon-hostlist.c
 src/hostlist/gnunet-daemon-hostlist_client.c
 src/hostlist/gnunet-daemon-hostlist_server.c
-src/identity/gnunet-identity.c
-src/identity/gnunet-service-identity.c
-src/identity/identity_api.c
-src/identity/identity_api_lookup.c
-src/identity/identity_api_suffix_lookup.c
-src/identity/plugin_rest_identity.c
-src/json/json.c
-src/json/json_generator.c
-src/json/json_helper.c
-src/json/json_mhd.c
-src/json/json_pack.c
 src/lib/block/bg_bf.c
 src/lib/block/block.c
+src/lib/curl/curl.c
+src/lib/curl/curl_reschedule.c
 src/lib/gnsrecord/gnsrecord.c
 src/lib/gnsrecord/gnsrecord_crypto.c
 src/lib/gnsrecord/gnsrecord_misc.c
@@ -188,6 +175,46 @@ src/lib/hello/address.c
 src/lib/hello/hello-ng.c
 src/lib/hello/hello-uri.c
 src/lib/hello/hello.c
+src/lib/json/json.c
+src/lib/json/json_generator.c
+src/lib/json/json_helper.c
+src/lib/json/json_mhd.c
+src/lib/json/json_pack.c
+src/lib/pq/pq.c
+src/lib/pq/pq_connect.c
+src/lib/pq/pq_eval.c
+src/lib/pq/pq_event.c
+src/lib/pq/pq_exec.c
+src/lib/pq/pq_prepare.c
+src/lib/pq/pq_query_helper.c
+src/lib/pq/pq_result_helper.c
+src/lib/sq/sq.c
+src/lib/sq/sq_exec.c
+src/lib/sq/sq_prepare.c
+src/lib/sq/sq_query_helper.c
+src/lib/sq/sq_result_helper.c
+src/lib/testing/gnunet-cmds-helper.c
+src/lib/testing/gnunet-testing.c
+src/lib/testing/list-keys.c
+src/lib/testing/testing.c
+src/lib/testing/testing_api_cmd_barrier.c
+src/lib/testing/testing_api_cmd_barrier_reached.c
+src/lib/testing/testing_api_cmd_batch.c
+src/lib/testing/testing_api_cmd_block_until_external_trigger.c
+src/lib/testing/testing_api_cmd_exec_bash_script.c
+src/lib/testing/testing_api_cmd_finish.c
+src/lib/testing/testing_api_cmd_local_test_prepared.c
+src/lib/testing/testing_api_cmd_netjail_start.c
+src/lib/testing/testing_api_cmd_netjail_start_cmds_helper.c
+src/lib/testing/testing_api_cmd_netjail_stop.c
+src/lib/testing/testing_api_cmd_netjail_stop_cmds_helper.c
+src/lib/testing/testing_api_cmd_send_peer_ready.c
+src/lib/testing/testing_api_cmd_start_peer.c
+src/lib/testing/testing_api_cmd_stop_peer.c
+src/lib/testing/testing_api_cmd_system_create.c
+src/lib/testing/testing_api_cmd_system_destroy.c
+src/lib/testing/testing_api_loop.c
+src/lib/testing/testing_api_traits.c
 src/lib/util/bandwidth.c
 src/lib/util/benchmark.c
 src/lib/util/bio.c
@@ -337,15 +364,10 @@ src/peerstore/plugin_peerstore_flat.c
 src/peerstore/plugin_peerstore_sqlite.c
 src/plugin/block/plugin_block_template.c
 src/plugin/block/plugin_block_test.c
+src/plugin/dhtu/plugin_dhtu_gnunet.c
+src/plugin/dhtu/plugin_dhtu_ip.c
+src/plugin/dhtu/testing_dhtu_cmd_send.c
 src/plugin/gnsrecord/plugin_gnsrecord_dns.c
-src/pq/pq.c
-src/pq/pq_connect.c
-src/pq/pq_eval.c
-src/pq/pq_event.c
-src/pq/pq_exec.c
-src/pq/pq_prepare.c
-src/pq/pq_query_helper.c
-src/pq/pq_result_helper.c
 src/pt/gnunet-daemon-pt.c
 src/reclaim/did_core.c
 src/reclaim/did_helper.c
@@ -381,26 +403,14 @@ src/regex/regex_internal_dht.c
 src/regex/regex_test_graph.c
 src/regex/regex_test_lib.c
 src/regex/regex_test_random.c
-src/rest/gnunet-rest-server.c
-src/rest/plugin_rest_config.c
-src/rest/plugin_rest_copying.c
-src/rest/rest.c
+src/rest-plugin/identity/plugin_rest_identity.c
+src/rest-plugin/rest/plugin_rest_config.c
+src/rest-plugin/rest/plugin_rest_copying.c
 src/revocation/gnunet-revocation-tvg.c
 src/revocation/gnunet-revocation.c
 src/revocation/gnunet-service-revocation.c
 src/revocation/plugin_block_revocation.c
 src/revocation/revocation_api.c
-src/rps/gnunet-rps-profiler.c
-src/rps/gnunet-rps.c
-src/rps/gnunet-service-rps.c
-src/rps/gnunet-service-rps_custommap.c
-src/rps/gnunet-service-rps_sampler.c
-src/rps/gnunet-service-rps_sampler_elem.c
-src/rps/gnunet-service-rps_view.c
-src/rps/rps-sampler_client.c
-src/rps/rps-sampler_common.c
-src/rps/rps-test_util.c
-src/rps/rps_api.c
 src/scalarproduct/gnunet-scalarproduct.c
 src/scalarproduct/gnunet-service-scalarproduct-ecc_alice.c
 src/scalarproduct/gnunet-service-scalarproduct-ecc_bob.c
@@ -411,6 +421,23 @@ src/secretsharing/gnunet-secretsharing-profiler.c
 src/secretsharing/gnunet-service-secretsharing.c
 src/secretsharing/secretsharing_api.c
 src/secretsharing/secretsharing_common.c
+src/service/arm/arm_api.c
+src/service/arm/arm_monitor_api.c
+src/service/arm/gnunet-service-arm.c
+src/service/arm/mockup-service.c
+src/service/core/core_api.c
+src/service/core/core_api_cmd_connecting_peers.c
+src/service/core/core_api_monitor_peers.c
+src/service/core/gnunet-service-core.c
+src/service/core/gnunet-service-core_kx.c
+src/service/core/gnunet-service-core_sessions.c
+src/service/core/gnunet-service-core_typemap.c
+src/service/identity/gnunet-service-identity.c
+src/service/identity/identity_api.c
+src/service/identity/identity_api_lookup.c
+src/service/identity/identity_api_suffix_lookup.c
+src/service/rest/gnunet-rest-server.c
+src/service/rest/rest.c
 src/service/util/gnunet-service-resolver.c
 src/set/gnunet-service-set.c
 src/set/gnunet-service-set_intersection.c
@@ -434,38 +461,11 @@ src/setu/ibf.c
 src/setu/ibf_sim.c
 src/setu/plugin_block_setu_test.c
 src/setu/setu_api.c
-src/sq/sq.c
-src/sq/sq_exec.c
-src/sq/sq_prepare.c
-src/sq/sq_query_helper.c
-src/sq/sq_result_helper.c
 src/statistics/gnunet-service-statistics.c
 src/statistics/gnunet-statistics.c
 src/statistics/statistics_api.c
 src/template/gnunet-service-template.c
 src/template/gnunet-template.c
-src/testing/gnunet-cmds-helper.c
-src/testing/gnunet-testing.c
-src/testing/list-keys.c
-src/testing/testing.c
-src/testing/testing_api_cmd_barrier.c
-src/testing/testing_api_cmd_barrier_reached.c
-src/testing/testing_api_cmd_batch.c
-src/testing/testing_api_cmd_block_until_external_trigger.c
-src/testing/testing_api_cmd_exec_bash_script.c
-src/testing/testing_api_cmd_finish.c
-src/testing/testing_api_cmd_local_test_prepared.c
-src/testing/testing_api_cmd_netjail_start.c
-src/testing/testing_api_cmd_netjail_start_cmds_helper.c
-src/testing/testing_api_cmd_netjail_stop.c
-src/testing/testing_api_cmd_netjail_stop_cmds_helper.c
-src/testing/testing_api_cmd_send_peer_ready.c
-src/testing/testing_api_cmd_start_peer.c
-src/testing/testing_api_cmd_stop_peer.c
-src/testing/testing_api_cmd_system_create.c
-src/testing/testing_api_cmd_system_destroy.c
-src/testing/testing_api_loop.c
-src/testing/testing_api_traits.c
 src/topology/gnunet-daemon-topology.c
 src/transport/gnunet-communicator-quic.c
 src/transport/gnunet-communicator-tcp.c
@@ -499,4 +499,4 @@ src/fs/fs_api.h
 src/include/gnunet_json_lib.h
 src/include/gnunet_pq_lib.h
 src/include/gnunet_transport_hello_service.h
-src/pq/pq.h
+src/lib/pq/pq.h
diff --git a/src/Makefile.am b/src/Makefile.am
index 3746c6b19..757d2c1c1 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,16 +1,5 @@
 # This Makefile.am is in the public domain
 
-TESTING = testing
-
-if HAVE_EXPERIMENTAL
- EXP_DIR = \
-  rps \
-  abd \
-  auction
-endif
-
-JSON_DIR = json
-CURL_DIR = curl
 
 if BUILD_PULSE_HELPERS
 CONVERSATION_DIR = conversation
@@ -20,31 +9,15 @@ CONVERSATION_DIR = conversation
 endif
 endif
 
-if HAVE_SQLITE
- SQLITE_DIR = sq
-endif
-
-if HAVE_POSTGRESQL
- POSTGRES_DIR = pq
-endif
-
-REST_DIR = rest
-
-
 SUBDIRS = \
   include $(INTLEMU_SUBDIRS) \
   lib \
        plugin \
        service \
+       rest-plugin \
        cli \
+       contrib \
   statistics \
-  arm \
-  $(TESTING) \
-  $(JSON_DIR) \
-  $(CURL_DIR) \
-  $(REST_DIR) \
-  $(SQLITE_DIR) \
-  $(POSTGRES_DIR) \
   datacache \
   datastore \
   template \
@@ -52,15 +25,12 @@ SUBDIRS = \
   nat \
   nat-auto \
   transport \
-  core \
   nse \
-  dhtu \
   dht \
   hostlist \
   topology \
   regex \
   dns \
-  identity \
   namecache \
   namestore \
   cadet \
@@ -79,5 +49,4 @@ SUBDIRS = \
   pt \
   secretsharing \
   reclaim \
-  messenger \
-  $(EXP_DIR)
+  messenger
diff --git a/src/cadet/Makefile.am b/src/cadet/Makefile.am
index b28286197..d366ecd95 100644
--- a/src/cadet/Makefile.am
+++ b/src/cadet/Makefile.am
@@ -62,7 +62,7 @@ gnunet_service_cadet_SOURCES = \
  gnunet-service-cadet_peer.c gnunet-service-cadet_peer.h
 gnunet_service_cadet_LDADD = \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
-  $(top_builddir)/src/core/libgnunetcore.la \
+  $(top_builddir)/src/service/core/libgnunetcore.la \
   $(top_builddir)/src/dht/libgnunetdht.la \
   $(top_builddir)/src/statistics/libgnunetstatistics.la \
   $(top_builddir)/src/transport/libgnunettransportapplication.la \
@@ -79,7 +79,7 @@ test_cadet_local_mq_SOURCES = \
   test_cadet_local_mq.c
 test_cadet_local_mq_LDADD = \
   libgnunetcadet.la \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la
 
 if ENABLE_TEST_RUN
diff --git a/src/cli/Makefile.am b/src/cli/Makefile.am
index d94046cde..218e68671 100644
--- a/src/cli/Makefile.am
+++ b/src/cli/Makefile.am
@@ -1,2 +1,4 @@
 SUBDIRS = \
-       util
+       util \
+       arm \
+       core
diff --git a/src/cli/arm/.gitignore b/src/cli/arm/.gitignore
new file mode 100644
index 000000000..f010c20a1
--- /dev/null
+++ b/src/cli/arm/.gitignore
@@ -0,0 +1 @@
+gnunet-arm
diff --git a/src/cli/arm/Makefile.am b/src/cli/arm/Makefile.am
new file mode 100644
index 000000000..e8bc1c42c
--- /dev/null
+++ b/src/cli/arm/Makefile.am
@@ -0,0 +1,45 @@
+# This Makefile.am is in the public domain
+AM_CPPFLAGS = -I$(top_srcdir)/src/include
+
+pkgcfgdir= $(pkgdatadir)/config.d/
+
+libexecdir= $(pkglibdir)/libexec/
+
+if USE_COVERAGE
+  AM_CFLAGS = --coverage -O0
+  XLIB = -lgcov
+endif
+
+bin_PROGRAMS = \
+ gnunet-arm
+
+gnunet_arm_SOURCES = \
+ gnunet-arm.c
+gnunet_arm_LDADD = \
+  $(top_builddir)/src/service/arm/libgnunetarm.la \
+  $(top_builddir)/src/lib/util/libgnunetutil.la \
+  $(GN_LIBINTL)
+
+# FIXME the respective conf file now resides in service/arm/
+#if HAVE_PYTHON
+#check_SCRIPTS = \
+# test_gnunet_arm.py
+#endif
+
+if ENABLE_TEST_RUN
+AM_TESTS_ENVIRONMENT=export GNUNET_PREFIX=$${GNUNET_PREFIX:-@libdir@};export 
PATH=$${GNUNET_PREFIX:-@prefix@}/bin:$$PATH;unset XDG_DATA_HOME;unset 
XDG_CONFIG_HOME;
+TESTS = $(check_PROGRAMS)  $(check_SCRIPTS)
+endif
+
+#SUFFIXES = .py.in .py
+#.py.in.py:
+#      $(AWK) -v bdir="$(bindir)" -v py="$(PYTHON)" -v awkay="$(AWK_BINARY)" 
-v pfx="$(prefix)" -v prl="$(PERL)" -v sysconfdirectory="$(sysconfdir)" -v 
pkgdatadirectory="$(pkgdatadir)" -f $(top_srcdir)/bin/dosubst.awk < 
$(srcdir)/$< > $@
+#      chmod +x $@
+#
+#test_gnunet_arm.py: test_gnunet_arm.py.in Makefile
+#      $(AWK) -v bdir="$(bindir)" -v py="$(PYTHON)" -v awkay="$(AWK_BINARY)" 
-v pfx="$(prefix)" -v prl="$(PERL)" -v sysconfdirectory="$(sysconfdir)" -v 
pkgdatadirectory="$(pkgdatadir)" -f $(top_srcdir)/bin/dosubst.awk < 
$(srcdir)/test_gnunet_arm.py.in > test_gnunet_arm.py
+#      chmod +x test_gnunet_arm.py
+#
+#EXTRA_DIST = \
+#  test_arm_api_data.conf \
+#  test_gnunet_arm.py.in
diff --git a/src/arm/gnunet-arm.c b/src/cli/arm/gnunet-arm.c
similarity index 100%
rename from src/arm/gnunet-arm.c
rename to src/cli/arm/gnunet-arm.c
diff --git a/src/cli/core/.gitignore b/src/cli/core/.gitignore
new file mode 100644
index 000000000..95169ed2b
--- /dev/null
+++ b/src/cli/core/.gitignore
@@ -0,0 +1 @@
+gnunet-core
diff --git a/src/cli/core/Makefile.am b/src/cli/core/Makefile.am
new file mode 100644
index 000000000..97abf0db2
--- /dev/null
+++ b/src/cli/core/Makefile.am
@@ -0,0 +1,24 @@
+# This Makefile.am is in the public domain
+AM_CPPFLAGS = -I$(top_srcdir)/src/include
+
+pkgcfgdir= $(pkgdatadir)/config.d/
+
+plugindir = $(libdir)/gnunet
+
+libexecdir= $(pkglibdir)/libexec/
+
+if USE_COVERAGE
+  AM_CFLAGS = --coverage -O0
+  XLIB = -lgcov
+endif
+
+bin_PROGRAMS = \
+ gnunet-core
+
+gnunet_core_SOURCES = \
+ gnunet-core.c
+gnunet_core_LDADD = \
+  $(top_builddir)/src/service/core/libgnunetcore.la \
+  $(top_builddir)/src/lib/util/libgnunetutil.la
+gnunet_core_LDFLAGS = \
+  $(GN_LIBINTL)
diff --git a/src/core/gnunet-core.c b/src/cli/core/gnunet-core.c
similarity index 100%
rename from src/core/gnunet-core.c
rename to src/cli/core/gnunet-core.c
diff --git a/src/cli/identity/Makefile.am b/src/cli/identity/Makefile.am
new file mode 100644
index 000000000..be2c2f1c6
--- /dev/null
+++ b/src/cli/identity/Makefile.am
@@ -0,0 +1,36 @@
+# This Makefile.am is in the public domain
+AM_CPPFLAGS = -I$(top_srcdir)/src/include
+
+plugindir = $(libdir)/gnunet
+
+if USE_COVERAGE
+  AM_CFLAGS = --coverage -O0
+  XLIB = -lgcov
+endif
+
+pkgcfgdir= $(pkgdatadir)/config.d/
+
+bin_PROGRAMS = \
+ gnunet-identity
+
+gnunet_identity_SOURCES = \
+ gnunet-identity.c
+gnunet_identity_LDADD = \
+  $(top_builddir)/src/service/libgnunetidentity.la \
+  $(top_builddir)/src/statistics/libgnunetstatistics.la \
+  $(top_builddir)/src/lib/util/libgnunetutil.la \
+  $(GN_LIBINTL)
+
+check_SCRIPTS = \
+  test_identity_messages.sh
+
+# if ENABLE_TEST_RUN
+# AM_TESTS_ENVIRONMENT=export GNUNET_PREFIX=$${GNUNET_PREFIX:-@libdir@};export 
PATH=$${GNUNET_PREFIX:-@prefix@}/bin:$$PATH;unset XDG_DATA_HOME;unset 
XDG_CONFIG_HOME;
+# TESTS = $(check_PROGRAMS) $(check_SCRIPTS)
+# endif
+
+
+EXTRA_DIST = \
+  test_identity_messages.sh
+
+
diff --git a/src/identity/gnunet-identity.c b/src/cli/identity/gnunet-identity.c
similarity index 100%
rename from src/identity/gnunet-identity.c
rename to src/cli/identity/gnunet-identity.c
diff --git a/src/consensus/Makefile.am b/src/consensus/Makefile.am
index a88b8bc60..8815b95c9 100644
--- a/src/consensus/Makefile.am
+++ b/src/consensus/Makefile.am
@@ -39,7 +39,7 @@ gnunet_service_consensus_SOURCES = \
  gnunet-service-consensus.c
 gnunet_service_consensus_LDADD = \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
-  $(top_builddir)/src/core/libgnunetcore.la \
+  $(top_builddir)/src/service/core/libgnunetcore.la \
   $(top_builddir)/src/set/libgnunetset.la \
   $(top_builddir)/src/statistics/libgnunetstatistics.la \
   $(GN_LIBINTL)
@@ -49,7 +49,7 @@ gnunet_service_evil_consensus_SOURCES = \
  consensus_protocol.h
 gnunet_service_evil_consensus_LDADD = \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
-  $(top_builddir)/src/core/libgnunetcore.la \
+  $(top_builddir)/src/service/core/libgnunetcore.la \
   $(top_builddir)/src/set/libgnunetset.la \
   $(top_builddir)/src/statistics/libgnunetstatistics.la \
   $(GN_LIBINTL)
@@ -92,7 +92,7 @@ test_consensus_api_SOURCES = \
  test_consensus_api.c
 test_consensus_api_LDADD = \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   libgnunetconsensus.la
 
 noinst_SCRIPTS = \
diff --git a/src/contrib/Makefile.am b/src/contrib/Makefile.am
new file mode 100644
index 000000000..516fb872c
--- /dev/null
+++ b/src/contrib/Makefile.am
@@ -0,0 +1,4 @@
+SUBDIRS = \
+       #lib \
+       #plugin \
+       service
diff --git a/src/contrib/service/Makefile.am b/src/contrib/service/Makefile.am
new file mode 100644
index 000000000..25c3670d9
--- /dev/null
+++ b/src/contrib/service/Makefile.am
@@ -0,0 +1,9 @@
+if HAVE_EXPERIMENTAL
+ EXP_DIR = \
+  rps \
+  abd \
+  auction
+endif
+
+SUBDIRS = \
+       $(EXP_DIR)
diff --git a/src/abd/.gitignore b/src/contrib/service/abd/.gitignore
similarity index 100%
rename from src/abd/.gitignore
rename to src/contrib/service/abd/.gitignore
diff --git a/src/abd/Makefile.am b/src/contrib/service/abd/Makefile.am
similarity index 89%
rename from src/abd/Makefile.am
rename to src/contrib/service/abd/Makefile.am
index 6fa2dc848..669c00d19 100644
--- a/src/abd/Makefile.am
+++ b/src/contrib/service/abd/Makefile.am
@@ -43,7 +43,7 @@ gnunet_abd_LDADD = \
   libgnunetabd.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
        $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   $(top_builddir)/src/namestore/libgnunetnamestore.la \
   $(GN_LIBINTL)
 
@@ -53,7 +53,7 @@ libgnunet_plugin_gnsrecord_abd_la_SOURCES = \
 libgnunet_plugin_gnsrecord_abd_la_LIBADD = \
        libgnunetabd.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   $(LTLIBINTL)
 libgnunet_plugin_gnsrecord_abd_la_LDFLAGS = \
  $(GN_PLUGIN_LDFLAGS)
@@ -67,7 +67,7 @@ gnunet_service_abd_LDADD = \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
        $(top_builddir)/src/gns/libgnunetgns.la \
        $(top_builddir)/src/namestore/libgnunetnamestore.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   $(top_builddir)/src/statistics/libgnunetstatistics.la \
   $(GN_LIBINTL)
 
@@ -80,7 +80,7 @@ libgnunetabd_la_SOURCES = \
  delegate_misc.h
 libgnunetabd_la_LIBADD = \
  $(top_builddir)/src/lib/util/libgnunetutil.la \
- $(top_builddir)/src/identity/libgnunetidentity.la \
+ $(top_builddir)/src/service/identity/libgnunetidentity.la \
  $(XLIB)
 libgnunetabd_la_LDFLAGS = \
   $(GN_LIB_LDFLAGS)
diff --git a/src/abd/abd.conf.in b/src/contrib/service/abd/abd.conf.in
similarity index 100%
rename from src/abd/abd.conf.in
rename to src/contrib/service/abd/abd.conf.in
diff --git a/src/abd/abd.h b/src/contrib/service/abd/abd.h
similarity index 100%
rename from src/abd/abd.h
rename to src/contrib/service/abd/abd.h
diff --git a/src/abd/abd_api.c b/src/contrib/service/abd/abd_api.c
similarity index 100%
rename from src/abd/abd_api.c
rename to src/contrib/service/abd/abd_api.c
diff --git a/src/abd/abd_serialization.c 
b/src/contrib/service/abd/abd_serialization.c
similarity index 100%
rename from src/abd/abd_serialization.c
rename to src/contrib/service/abd/abd_serialization.c
diff --git a/src/abd/abd_serialization.h 
b/src/contrib/service/abd/abd_serialization.h
similarity index 100%
rename from src/abd/abd_serialization.h
rename to src/contrib/service/abd/abd_serialization.h
diff --git a/src/abd/delegate_misc.c b/src/contrib/service/abd/delegate_misc.c
similarity index 100%
rename from src/abd/delegate_misc.c
rename to src/contrib/service/abd/delegate_misc.c
diff --git a/src/abd/delegate_misc.h b/src/contrib/service/abd/delegate_misc.h
similarity index 100%
rename from src/abd/delegate_misc.h
rename to src/contrib/service/abd/delegate_misc.h
diff --git a/src/abd/gnunet-abd.c b/src/contrib/service/abd/gnunet-abd.c
similarity index 100%
rename from src/abd/gnunet-abd.c
rename to src/contrib/service/abd/gnunet-abd.c
diff --git a/src/abd/gnunet-service-abd.c 
b/src/contrib/service/abd/gnunet-service-abd.c
similarity index 100%
rename from src/abd/gnunet-service-abd.c
rename to src/contrib/service/abd/gnunet-service-abd.c
diff --git a/src/abd/plugin_gnsrecord_abd.c 
b/src/contrib/service/abd/plugin_gnsrecord_abd.c
similarity index 100%
rename from src/abd/plugin_gnsrecord_abd.c
rename to src/contrib/service/abd/plugin_gnsrecord_abd.c
diff --git a/src/abd/test_abd_bi_and.sh 
b/src/contrib/service/abd/test_abd_bi_and.sh
similarity index 100%
rename from src/abd/test_abd_bi_and.sh
rename to src/contrib/service/abd/test_abd_bi_and.sh
diff --git a/src/abd/test_abd_bi_and2.sh 
b/src/contrib/service/abd/test_abd_bi_and2.sh
similarity index 100%
rename from src/abd/test_abd_bi_and2.sh
rename to src/contrib/service/abd/test_abd_bi_and2.sh
diff --git a/src/abd/test_abd_bi_and3.sh 
b/src/contrib/service/abd/test_abd_bi_and3.sh
similarity index 100%
rename from src/abd/test_abd_bi_and3.sh
rename to src/contrib/service/abd/test_abd_bi_and3.sh
diff --git a/src/abd/test_abd_bi_and4.sh 
b/src/contrib/service/abd/test_abd_bi_and4.sh
similarity index 100%
rename from src/abd/test_abd_bi_and4.sh
rename to src/contrib/service/abd/test_abd_bi_and4.sh
diff --git a/src/abd/test_abd_bi_bw.sh 
b/src/contrib/service/abd/test_abd_bi_bw.sh
similarity index 100%
rename from src/abd/test_abd_bi_bw.sh
rename to src/contrib/service/abd/test_abd_bi_bw.sh
diff --git a/src/abd/test_abd_bi_bw_link.sh 
b/src/contrib/service/abd/test_abd_bi_bw_link.sh
similarity index 100%
rename from src/abd/test_abd_bi_bw_link.sh
rename to src/contrib/service/abd/test_abd_bi_bw_link.sh
diff --git a/src/abd/test_abd_bi_bw_link2.sh 
b/src/contrib/service/abd/test_abd_bi_bw_link2.sh
similarity index 100%
rename from src/abd/test_abd_bi_bw_link2.sh
rename to src/contrib/service/abd/test_abd_bi_bw_link2.sh
diff --git a/src/abd/test_abd_bi_fw.sh 
b/src/contrib/service/abd/test_abd_bi_fw.sh
similarity index 100%
rename from src/abd/test_abd_bi_fw.sh
rename to src/contrib/service/abd/test_abd_bi_fw.sh
diff --git a/src/abd/test_abd_defaults.conf 
b/src/contrib/service/abd/test_abd_defaults.conf
similarity index 100%
rename from src/abd/test_abd_defaults.conf
rename to src/contrib/service/abd/test_abd_defaults.conf
diff --git a/src/abd/test_abd_issue.sh 
b/src/contrib/service/abd/test_abd_issue.sh
similarity index 100%
rename from src/abd/test_abd_issue.sh
rename to src/contrib/service/abd/test_abd_issue.sh
diff --git a/src/abd/test_abd_lookup.conf 
b/src/contrib/service/abd/test_abd_lookup.conf
similarity index 100%
rename from src/abd/test_abd_lookup.conf
rename to src/contrib/service/abd/test_abd_lookup.conf
diff --git a/src/abd/test_abd_own.sh b/src/contrib/service/abd/test_abd_own.sh
similarity index 100%
rename from src/abd/test_abd_own.sh
rename to src/contrib/service/abd/test_abd_own.sh
diff --git a/src/abd/test_abd_verify.sh 
b/src/contrib/service/abd/test_abd_verify.sh
similarity index 100%
rename from src/abd/test_abd_verify.sh
rename to src/contrib/service/abd/test_abd_verify.sh
diff --git a/src/abd/test_abd_verify_and.sh 
b/src/contrib/service/abd/test_abd_verify_and.sh
similarity index 100%
rename from src/abd/test_abd_verify_and.sh
rename to src/contrib/service/abd/test_abd_verify_and.sh
diff --git a/src/abd/test_abd_verify_simple.sh 
b/src/contrib/service/abd/test_abd_verify_simple.sh
similarity index 100%
rename from src/abd/test_abd_verify_simple.sh
rename to src/contrib/service/abd/test_abd_verify_simple.sh
diff --git a/src/auction/.gitignore b/src/contrib/service/auction/.gitignore
similarity index 100%
rename from src/auction/.gitignore
rename to src/contrib/service/auction/.gitignore
diff --git a/src/auction/Makefile.am b/src/contrib/service/auction/Makefile.am
similarity index 100%
rename from src/auction/Makefile.am
rename to src/contrib/service/auction/Makefile.am
diff --git a/src/auction/auction.conf b/src/contrib/service/auction/auction.conf
similarity index 100%
rename from src/auction/auction.conf
rename to src/contrib/service/auction/auction.conf
diff --git a/src/auction/auction.h b/src/contrib/service/auction/auction.h
similarity index 100%
rename from src/auction/auction.h
rename to src/contrib/service/auction/auction.h
diff --git a/src/auction/gnunet-auction-create.c 
b/src/contrib/service/auction/gnunet-auction-create.c
similarity index 100%
rename from src/auction/gnunet-auction-create.c
rename to src/contrib/service/auction/gnunet-auction-create.c
diff --git a/src/auction/gnunet-auction-info.c 
b/src/contrib/service/auction/gnunet-auction-info.c
similarity index 100%
rename from src/auction/gnunet-auction-info.c
rename to src/contrib/service/auction/gnunet-auction-info.c
diff --git a/src/auction/gnunet-auction-join.c 
b/src/contrib/service/auction/gnunet-auction-join.c
similarity index 100%
rename from src/auction/gnunet-auction-join.c
rename to src/contrib/service/auction/gnunet-auction-join.c
diff --git a/src/auction/gnunet-service-auction.c 
b/src/contrib/service/auction/gnunet-service-auction.c
similarity index 100%
rename from src/auction/gnunet-service-auction.c
rename to src/contrib/service/auction/gnunet-service-auction.c
diff --git a/src/auction/test_auction_api.c 
b/src/contrib/service/auction/test_auction_api.c
similarity index 100%
rename from src/auction/test_auction_api.c
rename to src/contrib/service/auction/test_auction_api.c
diff --git a/src/auction/test_auction_create.sh 
b/src/contrib/service/auction/test_auction_create.sh
similarity index 100%
rename from src/auction/test_auction_create.sh
rename to src/contrib/service/auction/test_auction_create.sh
diff --git a/src/rps/.gitignore b/src/contrib/service/rps/.gitignore
similarity index 100%
rename from src/rps/.gitignore
rename to src/contrib/service/rps/.gitignore
diff --git a/src/rps/Makefile.am b/src/contrib/service/rps/Makefile.am
similarity index 98%
rename from src/rps/Makefile.am
rename to src/contrib/service/rps/Makefile.am
index bf34a29d7..2ee315d11 100644
--- a/src/rps/Makefile.am
+++ b/src/contrib/service/rps/Makefile.am
@@ -65,7 +65,7 @@ gnunet_service_rps_LDADD = \
   $(top_builddir)/src/cadet/libgnunetcadet.la \
   $(top_builddir)/src/nse/libgnunetnse.la \
   $(top_builddir)/src/statistics/libgnunetstatistics.la \
-  $(top_builddir)/src/core/libgnunetcore.la \
+  $(top_builddir)/src/service/core/libgnunetcore.la \
   $(LIBGCRYPT_LIBS) \
   -lm -lgcrypt \
   $(GN_LIBINTL)
diff --git a/src/rps/gnunet-rps-profiler.c 
b/src/contrib/service/rps/gnunet-rps-profiler.c
similarity index 100%
rename from src/rps/gnunet-rps-profiler.c
rename to src/contrib/service/rps/gnunet-rps-profiler.c
diff --git a/src/rps/gnunet-rps.c b/src/contrib/service/rps/gnunet-rps.c
similarity index 100%
rename from src/rps/gnunet-rps.c
rename to src/contrib/service/rps/gnunet-rps.c
diff --git a/src/rps/gnunet-service-rps.c 
b/src/contrib/service/rps/gnunet-service-rps.c
similarity index 100%
rename from src/rps/gnunet-service-rps.c
rename to src/contrib/service/rps/gnunet-service-rps.c
diff --git a/src/rps/gnunet-service-rps_custommap.c 
b/src/contrib/service/rps/gnunet-service-rps_custommap.c
similarity index 100%
rename from src/rps/gnunet-service-rps_custommap.c
rename to src/contrib/service/rps/gnunet-service-rps_custommap.c
diff --git a/src/rps/gnunet-service-rps_custommap.h 
b/src/contrib/service/rps/gnunet-service-rps_custommap.h
similarity index 100%
rename from src/rps/gnunet-service-rps_custommap.h
rename to src/contrib/service/rps/gnunet-service-rps_custommap.h
diff --git a/src/rps/gnunet-service-rps_sampler.c 
b/src/contrib/service/rps/gnunet-service-rps_sampler.c
similarity index 100%
rename from src/rps/gnunet-service-rps_sampler.c
rename to src/contrib/service/rps/gnunet-service-rps_sampler.c
diff --git a/src/rps/gnunet-service-rps_sampler.h 
b/src/contrib/service/rps/gnunet-service-rps_sampler.h
similarity index 100%
rename from src/rps/gnunet-service-rps_sampler.h
rename to src/contrib/service/rps/gnunet-service-rps_sampler.h
diff --git a/src/rps/gnunet-service-rps_sampler_elem.c 
b/src/contrib/service/rps/gnunet-service-rps_sampler_elem.c
similarity index 100%
rename from src/rps/gnunet-service-rps_sampler_elem.c
rename to src/contrib/service/rps/gnunet-service-rps_sampler_elem.c
diff --git a/src/rps/gnunet-service-rps_sampler_elem.h 
b/src/contrib/service/rps/gnunet-service-rps_sampler_elem.h
similarity index 100%
rename from src/rps/gnunet-service-rps_sampler_elem.h
rename to src/contrib/service/rps/gnunet-service-rps_sampler_elem.h
diff --git a/src/rps/gnunet-service-rps_view.c 
b/src/contrib/service/rps/gnunet-service-rps_view.c
similarity index 100%
rename from src/rps/gnunet-service-rps_view.c
rename to src/contrib/service/rps/gnunet-service-rps_view.c
diff --git a/src/rps/gnunet-service-rps_view.h 
b/src/contrib/service/rps/gnunet-service-rps_view.h
similarity index 100%
rename from src/rps/gnunet-service-rps_view.h
rename to src/contrib/service/rps/gnunet-service-rps_view.h
diff --git a/src/rps/profiler_rps.conf 
b/src/contrib/service/rps/profiler_rps.conf
similarity index 100%
rename from src/rps/profiler_rps.conf
rename to src/contrib/service/rps/profiler_rps.conf
diff --git a/src/rps/rps-sampler_client.c 
b/src/contrib/service/rps/rps-sampler_client.c
similarity index 100%
rename from src/rps/rps-sampler_client.c
rename to src/contrib/service/rps/rps-sampler_client.c
diff --git a/src/rps/rps-sampler_client.h 
b/src/contrib/service/rps/rps-sampler_client.h
similarity index 100%
rename from src/rps/rps-sampler_client.h
rename to src/contrib/service/rps/rps-sampler_client.h
diff --git a/src/rps/rps-sampler_common.c 
b/src/contrib/service/rps/rps-sampler_common.c
similarity index 100%
rename from src/rps/rps-sampler_common.c
rename to src/contrib/service/rps/rps-sampler_common.c
diff --git a/src/rps/rps-sampler_common.h 
b/src/contrib/service/rps/rps-sampler_common.h
similarity index 100%
rename from src/rps/rps-sampler_common.h
rename to src/contrib/service/rps/rps-sampler_common.h
diff --git a/src/rps/rps-test_util.c b/src/contrib/service/rps/rps-test_util.c
similarity index 100%
rename from src/rps/rps-test_util.c
rename to src/contrib/service/rps/rps-test_util.c
diff --git a/src/rps/rps-test_util.h b/src/contrib/service/rps/rps-test_util.h
similarity index 100%
rename from src/rps/rps-test_util.h
rename to src/contrib/service/rps/rps-test_util.h
diff --git a/src/rps/rps.conf.in b/src/contrib/service/rps/rps.conf.in
similarity index 100%
rename from src/rps/rps.conf.in
rename to src/contrib/service/rps/rps.conf.in
diff --git a/src/rps/rps.h b/src/contrib/service/rps/rps.h
similarity index 100%
rename from src/rps/rps.h
rename to src/contrib/service/rps/rps.h
diff --git a/src/rps/rps_api.c b/src/contrib/service/rps/rps_api.c
similarity index 100%
rename from src/rps/rps_api.c
rename to src/contrib/service/rps/rps_api.c
diff --git a/src/rps/test_rps.c b/src/contrib/service/rps/test_rps.c
similarity index 100%
rename from src/rps/test_rps.c
rename to src/contrib/service/rps/test_rps.c
diff --git a/src/rps/test_rps.conf b/src/contrib/service/rps/test_rps.conf
similarity index 100%
rename from src/rps/test_rps.conf
rename to src/contrib/service/rps/test_rps.conf
diff --git a/src/rps/test_rps_api.c b/src/contrib/service/rps/test_rps_api.c
similarity index 100%
rename from src/rps/test_rps_api.c
rename to src/contrib/service/rps/test_rps_api.c
diff --git a/src/rps/test_service_rps_custommap.c 
b/src/contrib/service/rps/test_service_rps_custommap.c
similarity index 100%
rename from src/rps/test_service_rps_custommap.c
rename to src/contrib/service/rps/test_service_rps_custommap.c
diff --git a/src/rps/test_service_rps_sampler_elem.c 
b/src/contrib/service/rps/test_service_rps_sampler_elem.c
similarity index 100%
rename from src/rps/test_service_rps_sampler_elem.c
rename to src/contrib/service/rps/test_service_rps_sampler_elem.c
diff --git a/src/rps/test_service_rps_view.c 
b/src/contrib/service/rps/test_service_rps_view.c
similarity index 100%
rename from src/rps/test_service_rps_view.c
rename to src/contrib/service/rps/test_service_rps_view.c
diff --git a/src/conversation/Makefile.am b/src/conversation/Makefile.am
index 0b8a34d36..5aa79a0e0 100644
--- a/src/conversation/Makefile.am
+++ b/src/conversation/Makefile.am
@@ -72,7 +72,7 @@ libgnunetconversation_la_LIBADD = \
   $(top_builddir)/src/gns/libgnunetgns.la \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
   $(top_builddir)/src/namestore/libgnunetnamestore.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la
 
 libgnunetconversation_la_LDFLAGS = \
@@ -185,7 +185,7 @@ gnunet_service_conversation_LDADD = \
   libgnunetmicrophone.la \
   $(top_builddir)/src/cadet/libgnunetcadet.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   $(INTLLIBS)
 #gnunet_service_conversation_LDFLAGS = \
 #  
@@ -199,7 +199,7 @@ gnunet_conversation_LDADD = \
   $(top_builddir)/src/gns/libgnunetgns.la \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
   $(top_builddir)/src/namestore/libgnunetnamestore.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
   $(INTLLIBS)
 #gnunet_conversation_LDFLAGS = \
@@ -224,8 +224,8 @@ test_conversation_api_LDADD = \
   libgnunetmicrophone.la \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
   $(top_builddir)/src/namestore/libgnunetnamestore.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la
 test_conversation_api_LDFLAGS = \
   -export-dynamic
@@ -238,8 +238,8 @@ test_conversation_api_twocalls_LDADD = \
   libgnunetmicrophone.la \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
   $(top_builddir)/src/namestore/libgnunetnamestore.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la
 test_conversation_api_twocalls_LDFLAGS = \
   -export-dynamic
@@ -252,8 +252,8 @@ test_conversation_api_reject_LDADD = \
   libgnunetmicrophone.la \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
   $(top_builddir)/src/namestore/libgnunetnamestore.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la
 test_conversation_api_reject_LDFLAGS = \
   -export-dynamic
diff --git a/src/datacache/Makefile.am b/src/datacache/Makefile.am
index def1eb58e..16359945a 100644
--- a/src/datacache/Makefile.am
+++ b/src/datacache/Makefile.am
@@ -56,7 +56,7 @@ libgnunet_plugin_datacache_sqlite_la_SOURCES = \
   plugin_datacache_sqlite.c
 libgnunet_plugin_datacache_sqlite_la_LIBADD = \
   $(top_builddir)/src/statistics/libgnunetstatistics.la \
-  $(top_builddir)/src/sq/libgnunetsq.la \
+  $(top_builddir)/src/lib/sq/libgnunetsq.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la $(XLIBS) -lsqlite3 \
   $(LTLIBINTL)
 libgnunet_plugin_datacache_sqlite_la_LDFLAGS = \
@@ -74,7 +74,7 @@ libgnunet_plugin_datacache_heap_la_LDFLAGS = \
 libgnunet_plugin_datacache_postgres_la_SOURCES = \
   plugin_datacache_postgres.c
 libgnunet_plugin_datacache_postgres_la_LIBADD = \
-  $(top_builddir)/src/pq/libgnunetpq.la \
+  $(top_builddir)/src/lib/pq/libgnunetpq.la \
   $(top_builddir)/src/statistics/libgnunetstatistics.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
   $(GN_PLUGIN_LDFLAGS) -lpq
@@ -124,42 +124,42 @@ endif
 test_datacache_sqlite_SOURCES = \
  test_datacache.c
 test_datacache_sqlite_LDADD = \
- $(top_builddir)/src/testing/libgnunettesting.la \
+ $(top_builddir)/src/lib/testing/libgnunettesting.la \
  libgnunetdatacache.la \
  $(top_builddir)/src/lib/util/libgnunetutil.la
 
 test_datacache_quota_sqlite_SOURCES = \
  test_datacache_quota.c
 test_datacache_quota_sqlite_LDADD = \
- $(top_builddir)/src/testing/libgnunettesting.la \
+ $(top_builddir)/src/lib/testing/libgnunettesting.la \
  libgnunetdatacache.la \
  $(top_builddir)/src/lib/util/libgnunetutil.la
 
 test_datacache_heap_SOURCES = \
  test_datacache.c
 test_datacache_heap_LDADD = \
- $(top_builddir)/src/testing/libgnunettesting.la \
+ $(top_builddir)/src/lib/testing/libgnunettesting.la \
  libgnunetdatacache.la \
  $(top_builddir)/src/lib/util/libgnunetutil.la
 
 test_datacache_quota_heap_SOURCES = \
  test_datacache_quota.c
 test_datacache_quota_heap_LDADD = \
- $(top_builddir)/src/testing/libgnunettesting.la \
+ $(top_builddir)/src/lib/testing/libgnunettesting.la \
  libgnunetdatacache.la \
  $(top_builddir)/src/lib/util/libgnunetutil.la
 
 test_datacache_postgres_SOURCES = \
  test_datacache.c
 test_datacache_postgres_LDADD = \
- $(top_builddir)/src/testing/libgnunettesting.la \
+ $(top_builddir)/src/lib/testing/libgnunettesting.la \
  libgnunetdatacache.la \
  $(top_builddir)/src/lib/util/libgnunetutil.la
 
 test_datacache_quota_postgres_SOURCES = \
  test_datacache_quota.c
 test_datacache_quota_postgres_LDADD = \
- $(top_builddir)/src/testing/libgnunettesting.la \
+ $(top_builddir)/src/lib/testing/libgnunettesting.la \
  libgnunetdatacache.la \
  $(top_builddir)/src/lib/util/libgnunetutil.la
 
diff --git a/src/datastore/Makefile.am b/src/datastore/Makefile.am
index e8ede4b3e..fc7b71bcc 100644
--- a/src/datastore/Makefile.am
+++ b/src/datastore/Makefile.am
@@ -97,7 +97,7 @@ noinst_LTLIBRARIES = \
 libgnunet_plugin_datastore_sqlite_la_SOURCES = \
   plugin_datastore_sqlite.c
 libgnunet_plugin_datastore_sqlite_la_LIBADD = \
-  $(top_builddir)/src/sq/libgnunetsq.la \
+  $(top_builddir)/src/lib/sq/libgnunetsq.la \
   $(top_builddir)/src/statistics/libgnunetstatistics.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la $(XLIBS) -lsqlite3 \
   $(LTLIBINTL)
@@ -118,7 +118,7 @@ libgnunet_plugin_datastore_postgres_la_SOURCES = \
   plugin_datastore_postgres.c
 libgnunet_plugin_datastore_postgres_la_LIBADD = \
   $(top_builddir)/src/statistics/libgnunetstatistics.la \
-  $(top_builddir)/src/pq/libgnunetpq.la \
+  $(top_builddir)/src/lib/pq/libgnunetpq.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la $(XLIBS) -lpq
 libgnunet_plugin_datastore_postgres_la_LDFLAGS = \
  $(GN_PLUGIN_LDFLAGS) $(POSTGRESQL_LDFLAGS)
@@ -151,102 +151,102 @@ endif
 test_datastore_api_heap_SOURCES = \
  test_datastore_api.c
 test_datastore_api_heap_LDADD = \
- $(top_builddir)/src/testing/libgnunettesting.la \
+ $(top_builddir)/src/lib/testing/libgnunettesting.la \
  libgnunetdatastore.la \
  $(top_builddir)/src/lib/util/libgnunetutil.la
 
 test_datastore_api_management_heap_SOURCES = \
  test_datastore_api_management.c
 test_datastore_api_management_heap_LDADD = \
- $(top_builddir)/src/testing/libgnunettesting.la \
+ $(top_builddir)/src/lib/testing/libgnunettesting.la \
  libgnunetdatastore.la \
  $(top_builddir)/src/lib/util/libgnunetutil.la
 
 perf_datastore_api_heap_SOURCES = \
  perf_datastore_api.c
 perf_datastore_api_heap_LDADD = \
- $(top_builddir)/src/testing/libgnunettesting.la \
+ $(top_builddir)/src/lib/testing/libgnunettesting.la \
  libgnunetdatastore.la \
  $(top_builddir)/src/lib/util/libgnunetutil.la
 
 perf_plugin_datastore_heap_SOURCES = \
  perf_plugin_datastore.c
 perf_plugin_datastore_heap_LDADD = \
- $(top_builddir)/src/testing/libgnunettesting.la \
+ $(top_builddir)/src/lib/testing/libgnunettesting.la \
  $(top_builddir)/src/lib/util/libgnunetutil.la
 
 test_plugin_datastore_heap_SOURCES = \
  test_plugin_datastore.c
 test_plugin_datastore_heap_LDADD = \
- $(top_builddir)/src/testing/libgnunettesting.la \
+ $(top_builddir)/src/lib/testing/libgnunettesting.la \
  $(top_builddir)/src/lib/util/libgnunetutil.la
 
 
 test_datastore_api_sqlite_SOURCES = \
  test_datastore_api.c
 test_datastore_api_sqlite_LDADD = \
- $(top_builddir)/src/testing/libgnunettesting.la \
+ $(top_builddir)/src/lib/testing/libgnunettesting.la \
  libgnunetdatastore.la \
  $(top_builddir)/src/lib/util/libgnunetutil.la
 
 test_datastore_api_management_sqlite_SOURCES = \
  test_datastore_api_management.c
 test_datastore_api_management_sqlite_LDADD = \
- $(top_builddir)/src/testing/libgnunettesting.la \
+ $(top_builddir)/src/lib/testing/libgnunettesting.la \
  libgnunetdatastore.la \
  $(top_builddir)/src/lib/util/libgnunetutil.la
 
 perf_datastore_api_sqlite_SOURCES = \
  perf_datastore_api.c
 perf_datastore_api_sqlite_LDADD = \
- $(top_builddir)/src/testing/libgnunettesting.la \
+ $(top_builddir)/src/lib/testing/libgnunettesting.la \
  libgnunetdatastore.la \
  $(top_builddir)/src/lib/util/libgnunetutil.la
 
 perf_plugin_datastore_sqlite_SOURCES = \
  perf_plugin_datastore.c
 perf_plugin_datastore_sqlite_LDADD = \
- $(top_builddir)/src/testing/libgnunettesting.la \
+ $(top_builddir)/src/lib/testing/libgnunettesting.la \
  $(top_builddir)/src/lib/util/libgnunetutil.la
 
 test_plugin_datastore_sqlite_SOURCES = \
  test_plugin_datastore.c
 test_plugin_datastore_sqlite_LDADD = \
- $(top_builddir)/src/testing/libgnunettesting.la \
+ $(top_builddir)/src/lib/testing/libgnunettesting.la \
  $(top_builddir)/src/lib/util/libgnunetutil.la
 
 
 test_datastore_api_postgres_SOURCES = \
  test_datastore_api.c
 test_datastore_api_postgres_LDADD = \
- $(top_builddir)/src/testing/libgnunettesting.la \
+ $(top_builddir)/src/lib/testing/libgnunettesting.la \
  libgnunetdatastore.la \
  $(top_builddir)/src/lib/util/libgnunetutil.la
 
 test_datastore_api_management_postgres_SOURCES = \
  test_datastore_api_management.c
 test_datastore_api_management_postgres_LDADD = \
- $(top_builddir)/src/testing/libgnunettesting.la \
+ $(top_builddir)/src/lib/testing/libgnunettesting.la \
  libgnunetdatastore.la \
  $(top_builddir)/src/lib/util/libgnunetutil.la
 
 perf_datastore_api_postgres_SOURCES = \
  perf_datastore_api.c
 perf_datastore_api_postgres_LDADD = \
- $(top_builddir)/src/testing/libgnunettesting.la \
+ $(top_builddir)/src/lib/testing/libgnunettesting.la \
  libgnunetdatastore.la \
  $(top_builddir)/src/lib/util/libgnunetutil.la
 
 test_plugin_datastore_postgres_SOURCES = \
  test_plugin_datastore.c
 test_plugin_datastore_postgres_LDADD = \
- $(top_builddir)/src/testing/libgnunettesting.la \
+ $(top_builddir)/src/lib/testing/libgnunettesting.la \
  $(top_builddir)/src/lib/util/libgnunetutil.la
 
 perf_plugin_datastore_postgres_SOURCES = \
  perf_plugin_datastore.c
 perf_plugin_datastore_postgres_LDADD = \
- $(top_builddir)/src/testing/libgnunettesting.la \
+ $(top_builddir)/src/lib/testing/libgnunettesting.la \
  $(top_builddir)/src/lib/util/libgnunetutil.la
 
 
diff --git a/src/dht/Makefile.am b/src/dht/Makefile.am
index 1e3a5f8f8..6185d9d2c 100644
--- a/src/dht/Makefile.am
+++ b/src/dht/Makefile.am
@@ -61,7 +61,7 @@ gnunet_service_dht_SOURCES = \
 gnunet_service_dht_LDADD = \
   libgnunetdht.la \
   $(top_builddir)/src/statistics/libgnunetstatistics.la \
-  $(top_builddir)/src/core/libgnunetcore.la \
+  $(top_builddir)/src/service/core/libgnunetcore.la \
   $(top_builddir)/src/nse/libgnunetnse.la \
   $(top_builddir)/src/peerstore/libgnunetpeerstore.la \
   $(top_builddir)/src/lib/hello/libgnunethello.la \
@@ -113,7 +113,7 @@ test_dht_api_SOURCES = \
  test_dht_api.c
 test_dht_api_LDADD = \
  $(top_builddir)/src/lib/util/libgnunetutil.la \
- $(top_builddir)/src/testing/libgnunettesting.la \
+ $(top_builddir)/src/lib/testing/libgnunettesting.la \
  $(top_builddir)/src/lib/hello/libgnunethello.la \
  libgnunetdht.la
 
diff --git a/src/fs/Makefile.am b/src/fs/Makefile.am
index 573063301..b6083ea06 100644
--- a/src/fs/Makefile.am
+++ b/src/fs/Makefile.am
@@ -107,7 +107,7 @@ gnunet_download_LDADD =  \
 gnunet_publish_SOURCES =  \
  gnunet-publish.c
 gnunet_publish_LDADD =  \
- $(top_builddir)/src/identity/libgnunetidentity.la \
+ $(top_builddir)/src/service/identity/libgnunetidentity.la \
  libgnunetfs.la \
  $(top_builddir)/src/lib/util/libgnunetutil.la \
  $(GN_LIBINTL)
@@ -178,7 +178,7 @@ gnunet_service_fs_LDADD =  \
  $(top_builddir)/src/datastore/libgnunetdatastore.la \
  $(top_builddir)/src/statistics/libgnunetstatistics.la \
  $(top_builddir)/src/cadet/libgnunetcadet.la \
- $(top_builddir)/src/core/libgnunetcore.la \
+ $(top_builddir)/src/service/core/libgnunetcore.la \
  $(top_builddir)/src/lib/util/libgnunetutil.la \
  $(top_builddir)/src/peerstore/libgnunetpeerstore.la \
  $(GN_LIBINTL) -lm
@@ -278,28 +278,28 @@ endif
 test_fs_download_SOURCES = \
  test_fs_download.c
 test_fs_download_LDADD = \
-  $(top_builddir)/src/testing/libgnunettesting.la  \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la  \
   libgnunetfs.la  \
   $(top_builddir)/src/lib/util/libgnunetutil.la
 
 test_fs_download_indexed_SOURCES = \
  test_fs_download.c
 test_fs_download_indexed_LDADD = \
-  $(top_builddir)/src/testing/libgnunettesting.la  \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la  \
   libgnunetfs.la  \
   $(top_builddir)/src/lib/util/libgnunetutil.la
 
 test_fs_download_cadet_SOURCES = \
  test_fs_download.c
 test_fs_download_cadet_LDADD = \
-  $(top_builddir)/src/testing/libgnunettesting.la  \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la  \
   libgnunetfs.la  \
   $(top_builddir)/src/lib/util/libgnunetutil.la
 
 test_fs_download_persistence_SOURCES = \
  test_fs_download_persistence.c
 test_fs_download_persistence_LDADD = \
-  $(top_builddir)/src/testing/libgnunettesting.la  \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la  \
   libgnunetfs.la  \
   $(top_builddir)/src/lib/util/libgnunetutil.la
 
@@ -324,84 +324,84 @@ test_fs_getopt_LDADD = \
 test_fs_list_indexed_SOURCES = \
  test_fs_list_indexed.c
 test_fs_list_indexed_LDADD = \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   libgnunetfs.la  \
   $(top_builddir)/src/lib/util/libgnunetutil.la
 
 test_fs_namespace_SOURCES = \
  test_fs_namespace.c
 test_fs_namespace_LDADD = \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   libgnunetfs.la  \
   $(top_builddir)/src/lib/util/libgnunetutil.la
 
 test_fs_namespace_list_updateable_SOURCES = \
  test_fs_namespace_list_updateable.c
 test_fs_namespace_list_updateable_LDADD = \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   libgnunetfs.la  \
   $(top_builddir)/src/lib/util/libgnunetutil.la
 
 test_fs_publish_SOURCES = \
  test_fs_publish.c
 test_fs_publish_LDADD = \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   libgnunetfs.la  \
   $(top_builddir)/src/lib/util/libgnunetutil.la
 
 test_fs_publish_persistence_SOURCES = \
  test_fs_publish_persistence.c
 test_fs_publish_persistence_LDADD = \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   libgnunetfs.la  \
   $(top_builddir)/src/lib/util/libgnunetutil.la
 
 test_fs_search_SOURCES = \
  test_fs_search.c
 test_fs_search_LDADD = \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   libgnunetfs.la       \
   $(top_builddir)/src/lib/util/libgnunetutil.la
 
 test_fs_search_with_and_SOURCES = \
  test_fs_search_with_and.c
 test_fs_search_with_and_LDADD = \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   libgnunetfs.la       \
   $(top_builddir)/src/lib/util/libgnunetutil.la
 
 test_fs_search_probes_SOURCES = \
  test_fs_search_probes.c
 test_fs_search_probes_LDADD = \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   libgnunetfs.la       \
   $(top_builddir)/src/lib/util/libgnunetutil.la
 
 test_fs_search_persistence_SOURCES = \
  test_fs_search_persistence.c
 test_fs_search_persistence_LDADD = \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   libgnunetfs.la       \
   $(top_builddir)/src/lib/util/libgnunetutil.la
 
 test_fs_start_stop_SOURCES = \
  test_fs_start_stop.c
 test_fs_start_stop_LDADD = \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   libgnunetfs.la  \
   $(top_builddir)/src/lib/util/libgnunetutil.la
 
 test_fs_unindex_SOURCES = \
  test_fs_unindex.c
 test_fs_unindex_LDADD = \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   libgnunetfs.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la
 
 test_fs_unindex_persistence_SOURCES = \
  test_fs_unindex_persistence.c
 test_fs_unindex_persistence_LDADD = \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   libgnunetfs.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la
 
diff --git a/src/gns/Makefile.am b/src/gns/Makefile.am
index b1f4e5ab8..191103088 100644
--- a/src/gns/Makefile.am
+++ b/src/gns/Makefile.am
@@ -87,9 +87,9 @@ libgnunet_plugin_rest_gns_la_LIBADD = \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecordjson.la \
   libgnunetgns.la \
-  $(top_builddir)/src/rest/libgnunetrest.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
-  $(top_builddir)/src/json/libgnunetjson.la \
+  $(top_builddir)/src/service/rest/libgnunetrest.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
+  $(top_builddir)/src/lib/json/libgnunetjson.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la $(XLIBS) \
   $(LTLIBINTL) -ljansson $(MHD_LIBS)
 libgnunet_plugin_rest_gns_la_LDFLAGS = \
@@ -101,7 +101,7 @@ libgnunet_plugin_gnsrecord_gns_la_SOURCES = \
   plugin_gnsrecord_gns.c
 libgnunet_plugin_gnsrecord_gns_la_LIBADD = \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
   $(LTLIBINTL)
 libgnunet_plugin_gnsrecord_gns_la_LDFLAGS = \
@@ -113,7 +113,7 @@ gnunet_gns_SOURCES = \
 gnunet_gns_LDADD = \
   libgnunetgns.la \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
   $(LIBIDN) $(LIBIDN2) \
   $(GN_LIBINTL)
@@ -123,7 +123,7 @@ gnunet_gns_benchmark_SOURCES = \
 gnunet_gns_benchmark_LDADD = \
   libgnunetgns.la \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
   $(GN_LIBINTL)
 
@@ -132,7 +132,7 @@ gnunet_bcd_SOURCES = \
  gnunet-bcd.c
 gnunet_bcd_LDADD = \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   $(GN_LIBINTL) $(MHD_LIBS)
 gnunet_bcd_CFLAGS = $(MHD_CFLAGS) $(AM_CFLAGS)
 
@@ -144,7 +144,7 @@ gnunet_dns2gns_LDADD = \
   libgnunetgns.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
   $(USE_VPN) \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   $(GN_LIBINTL)
 
 if HAVE_SUDO
@@ -167,7 +167,7 @@ gnunet_gns_proxy_SOURCES = \
  gnunet-gns-proxy.c
 gnunet_gns_proxy_LDADD = $(MHD_LIBS) @LIBCURL@ -lgnutls \
   libgnunetgns.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
   $(GN_LIBINTL)
 if HAVE_GNUTLS_DANE
@@ -185,7 +185,7 @@ test_gns_proxy_CFLAGS = $(MHD_CFLAGS) @LIBCURL_CPPFLAGS@ 
$(AM_CFLAGS)
 #gnunet_gns_import_SOURCES = \
 #  gnunet-gns-import.c
 #gnunet_gns_import_LDADD = \
-#  $(top_builddir)/src/identity/libgnunetidentity.la \
+#  $(top_builddir)/src/service/identity/libgnunetidentity.la \
 #  $(top_builddir)/src/namestore/libgnunetnamestore.la \
 #  $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
 #  $(top_builddir)/src/lib/util/libgnunetutil.la \
@@ -199,7 +199,7 @@ gnunet_service_gns_SOURCES = \
 gnunet_service_gns_LDADD = \
   -lm \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   $(top_builddir)/src/revocation/libgnunetrevocation.la \
   $(top_builddir)/src/statistics/libgnunetstatistics.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
@@ -215,7 +215,7 @@ libgnunetgns_la_SOURCES = \
  gns_tld_api.c gns.h
 libgnunetgns_la_LIBADD = \
  $(top_builddir)/src/lib/util/libgnunetutil.la $(XLIB) \
- $(top_builddir)/src/identity/libgnunetidentity.la \
+ $(top_builddir)/src/service/identity/libgnunetidentity.la \
  $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la
 libgnunetgns_la_LDFLAGS = \
   $(GN_LIBINTL) \
@@ -228,7 +228,7 @@ libgnunet_plugin_block_gns_la_LIBADD = \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
   $(top_builddir)/src/lib/block/libgnunetblock.la \
   $(top_builddir)/src/lib/block/libgnunetblockgroup.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la  \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la  \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la
 libgnunet_plugin_block_gns_la_LDFLAGS = \
   $(GN_LIBINTL) \
diff --git a/src/hostlist/Makefile.am b/src/hostlist/Makefile.am
index c03e5bab2..9cf72142a 100644
--- a/src/hostlist/Makefile.am
+++ b/src/hostlist/Makefile.am
@@ -26,7 +26,7 @@ gnunet_daemon_hostlist_SOURCES = \
  $(HOSTLIST_SERVER_SOURCES)
 
 gnunet_daemon_hostlist_LDADD = \
-  $(top_builddir)/src/core/libgnunetcore.la \
+  $(top_builddir)/src/service/core/libgnunetcore.la \
   $(top_builddir)/src/lib/hello/libgnunethello.la \
   $(top_builddir)/src/peerstore/libgnunetpeerstore.la \
   $(top_builddir)/src/statistics/libgnunetstatistics.la \
@@ -67,7 +67,7 @@ endif
 # test_gnunet_daemon_hostlist_learning.c
 #test_gnunet_daemon_hostlist_learning_LDADD = \
 #  $(top_builddir)/src/transport/libgnunettransport.la \
-#  $(top_builddir)/src/core/libgnunetcore.la \
+#  $(top_builddir)/src/service/core/libgnunetcore.la \
 #  $(top_builddir)/src/statistics/libgnunetstatistics.la \
 #  $(top_builddir)/src/lib/util/libgnunetutil.la
 
diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am
index 0b9a75dad..8ab0d6993 100644
--- a/src/lib/Makefile.am
+++ b/src/lib/Makefile.am
@@ -1,5 +1,14 @@
+if HAVE_POSTGRESQL
+ POSTGRES_DIR = pq
+endif
+
 SUBDIRS = \
        util \
        hello \
        block \
-       gnsrecord
+       gnsrecord \
+       curl \
+       json \
+       sq \
+       $(POSTGRES_DIR) \
+       testing
diff --git a/src/curl/Makefile.am b/src/lib/curl/Makefile.am
similarity index 100%
rename from src/curl/Makefile.am
rename to src/lib/curl/Makefile.am
diff --git a/src/curl/curl.c b/src/lib/curl/curl.c
similarity index 100%
rename from src/curl/curl.c
rename to src/lib/curl/curl.c
diff --git a/src/curl/curl_reschedule.c b/src/lib/curl/curl_reschedule.c
similarity index 100%
rename from src/curl/curl_reschedule.c
rename to src/lib/curl/curl_reschedule.c
diff --git a/src/curl/meson.build b/src/lib/curl/meson.build
similarity index 100%
rename from src/curl/meson.build
rename to src/lib/curl/meson.build
diff --git a/src/lib/gnsrecord/Makefile.am b/src/lib/gnsrecord/Makefile.am
index 9872ff74b..27d14a972 100644
--- a/src/lib/gnsrecord/Makefile.am
+++ b/src/lib/gnsrecord/Makefile.am
@@ -74,7 +74,7 @@ EXTRA_DIST = \
 test_gnsrecord_lsd0001testvectors_SOURCES = \
  test_gnsrecord_testvectors.c
 test_gnsrecord_lsd0001testvectors_LDADD = \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   libgnunetgnsrecord.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la
 
@@ -82,14 +82,14 @@ test_gnsrecord_lsd0001testvectors_LDADD = \
 test_gnsrecord_serialization_SOURCES = \
  test_gnsrecord_serialization.c
 test_gnsrecord_serialization_LDADD = \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   libgnunetgnsrecord.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la
 
 test_gnsrecord_block_expiration_SOURCES = \
  test_gnsrecord_block_expiration.c
 test_gnsrecord_block_expiration_LDADD = \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   libgnunetgnsrecord.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la
 
@@ -97,7 +97,7 @@ test_gnsrecord_block_expiration_LDADD = \
 test_gnsrecord_crypto_SOURCES = \
  test_gnsrecord_crypto.c
 test_gnsrecord_crypto_LDADD = \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   libgnunetgnsrecord.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la
 
@@ -105,6 +105,6 @@ test_gnsrecord_crypto_LDADD = \
 perf_gnsrecord_crypto_SOURCES = \
  perf_gnsrecord_crypto.c
 perf_gnsrecord_crypto_LDADD = \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   libgnunetgnsrecord.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la
diff --git a/src/json/.gitignore b/src/lib/json/.gitignore
similarity index 100%
rename from src/json/.gitignore
rename to src/lib/json/.gitignore
diff --git a/src/json/Makefile.am b/src/lib/json/Makefile.am
similarity index 100%
rename from src/json/Makefile.am
rename to src/lib/json/Makefile.am
diff --git a/src/json/json.c b/src/lib/json/json.c
similarity index 100%
rename from src/json/json.c
rename to src/lib/json/json.c
diff --git a/src/json/json_generator.c b/src/lib/json/json_generator.c
similarity index 100%
rename from src/json/json_generator.c
rename to src/lib/json/json_generator.c
diff --git a/src/json/json_helper.c b/src/lib/json/json_helper.c
similarity index 100%
rename from src/json/json_helper.c
rename to src/lib/json/json_helper.c
diff --git a/src/json/json_mhd.c b/src/lib/json/json_mhd.c
similarity index 100%
rename from src/json/json_mhd.c
rename to src/lib/json/json_mhd.c
diff --git a/src/json/json_pack.c b/src/lib/json/json_pack.c
similarity index 100%
rename from src/json/json_pack.c
rename to src/lib/json/json_pack.c
diff --git a/src/json/meson.build b/src/lib/json/meson.build
similarity index 100%
rename from src/json/meson.build
rename to src/lib/json/meson.build
diff --git a/src/json/test_json.c b/src/lib/json/test_json.c
similarity index 100%
rename from src/json/test_json.c
rename to src/lib/json/test_json.c
diff --git a/src/json/test_json_mhd.c b/src/lib/json/test_json_mhd.c
similarity index 100%
rename from src/json/test_json_mhd.c
rename to src/lib/json/test_json_mhd.c
diff --git a/src/pq/.gitignore b/src/lib/pq/.gitignore
similarity index 100%
rename from src/pq/.gitignore
rename to src/lib/pq/.gitignore
diff --git a/src/pq/Makefile.am b/src/lib/pq/Makefile.am
similarity index 100%
rename from src/pq/Makefile.am
rename to src/lib/pq/Makefile.am
diff --git a/src/pq/meson.build b/src/lib/pq/meson.build
similarity index 100%
rename from src/pq/meson.build
rename to src/lib/pq/meson.build
diff --git a/src/pq/pq.c b/src/lib/pq/pq.c
similarity index 100%
rename from src/pq/pq.c
rename to src/lib/pq/pq.c
diff --git a/src/pq/pq.h b/src/lib/pq/pq.h
similarity index 100%
rename from src/pq/pq.h
rename to src/lib/pq/pq.h
diff --git a/src/pq/pq_connect.c b/src/lib/pq/pq_connect.c
similarity index 100%
rename from src/pq/pq_connect.c
rename to src/lib/pq/pq_connect.c
diff --git a/src/pq/pq_eval.c b/src/lib/pq/pq_eval.c
similarity index 100%
rename from src/pq/pq_eval.c
rename to src/lib/pq/pq_eval.c
diff --git a/src/pq/pq_event.c b/src/lib/pq/pq_event.c
similarity index 100%
rename from src/pq/pq_event.c
rename to src/lib/pq/pq_event.c
diff --git a/src/pq/pq_exec.c b/src/lib/pq/pq_exec.c
similarity index 100%
rename from src/pq/pq_exec.c
rename to src/lib/pq/pq_exec.c
diff --git a/src/pq/pq_prepare.c b/src/lib/pq/pq_prepare.c
similarity index 100%
rename from src/pq/pq_prepare.c
rename to src/lib/pq/pq_prepare.c
diff --git a/src/pq/pq_query_helper.c b/src/lib/pq/pq_query_helper.c
similarity index 100%
rename from src/pq/pq_query_helper.c
rename to src/lib/pq/pq_query_helper.c
diff --git a/src/pq/pq_result_helper.c b/src/lib/pq/pq_result_helper.c
similarity index 100%
rename from src/pq/pq_result_helper.c
rename to src/lib/pq/pq_result_helper.c
diff --git a/src/pq/test_pq.c b/src/lib/pq/test_pq.c
similarity index 100%
rename from src/pq/test_pq.c
rename to src/lib/pq/test_pq.c
diff --git a/src/pq/versioning.sql b/src/lib/pq/versioning.sql
similarity index 100%
rename from src/pq/versioning.sql
rename to src/lib/pq/versioning.sql
diff --git a/src/sq/.gitignore b/src/lib/sq/.gitignore
similarity index 100%
rename from src/sq/.gitignore
rename to src/lib/sq/.gitignore
diff --git a/src/sq/Makefile.am b/src/lib/sq/Makefile.am
similarity index 100%
rename from src/sq/Makefile.am
rename to src/lib/sq/Makefile.am
diff --git a/src/sq/meson.build b/src/lib/sq/meson.build
similarity index 100%
rename from src/sq/meson.build
rename to src/lib/sq/meson.build
diff --git a/src/sq/sq.c b/src/lib/sq/sq.c
similarity index 100%
rename from src/sq/sq.c
rename to src/lib/sq/sq.c
diff --git a/src/sq/sq_exec.c b/src/lib/sq/sq_exec.c
similarity index 100%
rename from src/sq/sq_exec.c
rename to src/lib/sq/sq_exec.c
diff --git a/src/sq/sq_prepare.c b/src/lib/sq/sq_prepare.c
similarity index 100%
rename from src/sq/sq_prepare.c
rename to src/lib/sq/sq_prepare.c
diff --git a/src/sq/sq_query_helper.c b/src/lib/sq/sq_query_helper.c
similarity index 100%
rename from src/sq/sq_query_helper.c
rename to src/lib/sq/sq_query_helper.c
diff --git a/src/sq/sq_result_helper.c b/src/lib/sq/sq_result_helper.c
similarity index 100%
rename from src/sq/sq_result_helper.c
rename to src/lib/sq/sq_result_helper.c
diff --git a/src/sq/test_sq.c b/src/lib/sq/test_sq.c
similarity index 100%
rename from src/sq/test_sq.c
rename to src/lib/sq/test_sq.c
diff --git a/src/testing/.gitignore b/src/lib/testing/.gitignore
similarity index 100%
rename from src/testing/.gitignore
rename to src/lib/testing/.gitignore
diff --git a/src/testing/Makefile.am b/src/lib/testing/Makefile.am
similarity index 98%
rename from src/testing/Makefile.am
rename to src/lib/testing/Makefile.am
index fe7de2399..9ad48c619 100644
--- a/src/testing/Makefile.am
+++ b/src/lib/testing/Makefile.am
@@ -50,7 +50,7 @@ libgnunettesting_la_SOURCES = \
   testing_api_loop.c \
   testing_api_traits.c
 libgnunettesting_la_LIBADD = \
- $(top_builddir)/src/arm/libgnunetarm.la \
+ $(top_builddir)/src/service/arm/libgnunetarm.la \
  $(top_builddir)/src/lib/util/libgnunetutil.la \
  $(LTLIBINTL)
 libgnunettesting_la_LDFLAGS = \
diff --git a/src/testing/gnunet-cmds-helper.c 
b/src/lib/testing/gnunet-cmds-helper.c
similarity index 100%
rename from src/testing/gnunet-cmds-helper.c
rename to src/lib/testing/gnunet-cmds-helper.c
diff --git a/src/testing/gnunet-testing.c b/src/lib/testing/gnunet-testing.c
similarity index 100%
rename from src/testing/gnunet-testing.c
rename to src/lib/testing/gnunet-testing.c
diff --git a/src/testing/list-keys.c b/src/lib/testing/list-keys.c
similarity index 100%
rename from src/testing/list-keys.c
rename to src/lib/testing/list-keys.c
diff --git a/src/testing/meson.build b/src/lib/testing/meson.build
similarity index 100%
rename from src/testing/meson.build
rename to src/lib/testing/meson.build
diff --git a/src/testing/test_testing_defaults.conf 
b/src/lib/testing/test_testing_defaults.conf
similarity index 100%
rename from src/testing/test_testing_defaults.conf
rename to src/lib/testing/test_testing_defaults.conf
diff --git a/src/testing/test_testing_peerstartup.c 
b/src/lib/testing/test_testing_peerstartup.c
similarity index 100%
rename from src/testing/test_testing_peerstartup.c
rename to src/lib/testing/test_testing_peerstartup.c
diff --git a/src/testing/test_testing_peerstartup2.c 
b/src/lib/testing/test_testing_peerstartup2.c
similarity index 100%
rename from src/testing/test_testing_peerstartup2.c
rename to src/lib/testing/test_testing_peerstartup2.c
diff --git a/src/testing/test_testing_portreservation.c 
b/src/lib/testing/test_testing_portreservation.c
similarity index 100%
rename from src/testing/test_testing_portreservation.c
rename to src/lib/testing/test_testing_portreservation.c
diff --git a/src/testing/test_testing_servicestartup.c 
b/src/lib/testing/test_testing_servicestartup.c
similarity index 100%
rename from src/testing/test_testing_servicestartup.c
rename to src/lib/testing/test_testing_servicestartup.c
diff --git a/src/testing/test_testing_sharedservices.c 
b/src/lib/testing/test_testing_sharedservices.c
similarity index 100%
rename from src/testing/test_testing_sharedservices.c
rename to src/lib/testing/test_testing_sharedservices.c
diff --git a/src/testing/test_testing_sharedservices.conf 
b/src/lib/testing/test_testing_sharedservices.conf
similarity index 100%
rename from src/testing/test_testing_sharedservices.conf
rename to src/lib/testing/test_testing_sharedservices.conf
diff --git a/src/testing/test_testing_start_with_config.c 
b/src/lib/testing/test_testing_start_with_config.c
similarity index 100%
rename from src/testing/test_testing_start_with_config.c
rename to src/lib/testing/test_testing_start_with_config.c
diff --git a/src/testing/testing.c b/src/lib/testing/testing.c
similarity index 100%
rename from src/testing/testing.c
rename to src/lib/testing/testing.c
diff --git a/src/testing/testing.conf b/src/lib/testing/testing.conf
similarity index 100%
rename from src/testing/testing.conf
rename to src/lib/testing/testing.conf
diff --git a/src/testing/testing.h b/src/lib/testing/testing.h
similarity index 100%
rename from src/testing/testing.h
rename to src/lib/testing/testing.h
diff --git a/src/testing/testing_api_cmd_barrier.c 
b/src/lib/testing/testing_api_cmd_barrier.c
similarity index 100%
rename from src/testing/testing_api_cmd_barrier.c
rename to src/lib/testing/testing_api_cmd_barrier.c
diff --git a/src/testing/testing_api_cmd_barrier_reached.c 
b/src/lib/testing/testing_api_cmd_barrier_reached.c
similarity index 100%
rename from src/testing/testing_api_cmd_barrier_reached.c
rename to src/lib/testing/testing_api_cmd_barrier_reached.c
diff --git a/src/testing/testing_api_cmd_batch.c 
b/src/lib/testing/testing_api_cmd_batch.c
similarity index 100%
rename from src/testing/testing_api_cmd_batch.c
rename to src/lib/testing/testing_api_cmd_batch.c
diff --git a/src/testing/testing_api_cmd_block_until_external_trigger.c 
b/src/lib/testing/testing_api_cmd_block_until_external_trigger.c
similarity index 100%
rename from src/testing/testing_api_cmd_block_until_external_trigger.c
rename to src/lib/testing/testing_api_cmd_block_until_external_trigger.c
diff --git a/src/testing/testing_api_cmd_exec_bash_script.c 
b/src/lib/testing/testing_api_cmd_exec_bash_script.c
similarity index 100%
rename from src/testing/testing_api_cmd_exec_bash_script.c
rename to src/lib/testing/testing_api_cmd_exec_bash_script.c
diff --git a/src/testing/testing_api_cmd_finish.c 
b/src/lib/testing/testing_api_cmd_finish.c
similarity index 100%
rename from src/testing/testing_api_cmd_finish.c
rename to src/lib/testing/testing_api_cmd_finish.c
diff --git a/src/testing/testing_api_cmd_local_test_prepared.c 
b/src/lib/testing/testing_api_cmd_local_test_prepared.c
similarity index 100%
rename from src/testing/testing_api_cmd_local_test_prepared.c
rename to src/lib/testing/testing_api_cmd_local_test_prepared.c
diff --git a/src/testing/testing_api_cmd_netjail_start.c 
b/src/lib/testing/testing_api_cmd_netjail_start.c
similarity index 100%
rename from src/testing/testing_api_cmd_netjail_start.c
rename to src/lib/testing/testing_api_cmd_netjail_start.c
diff --git a/src/testing/testing_api_cmd_netjail_start_cmds_helper.c 
b/src/lib/testing/testing_api_cmd_netjail_start_cmds_helper.c
similarity index 100%
rename from src/testing/testing_api_cmd_netjail_start_cmds_helper.c
rename to src/lib/testing/testing_api_cmd_netjail_start_cmds_helper.c
diff --git a/src/testing/testing_api_cmd_netjail_stop.c 
b/src/lib/testing/testing_api_cmd_netjail_stop.c
similarity index 100%
rename from src/testing/testing_api_cmd_netjail_stop.c
rename to src/lib/testing/testing_api_cmd_netjail_stop.c
diff --git a/src/testing/testing_api_cmd_netjail_stop_cmds_helper.c 
b/src/lib/testing/testing_api_cmd_netjail_stop_cmds_helper.c
similarity index 100%
rename from src/testing/testing_api_cmd_netjail_stop_cmds_helper.c
rename to src/lib/testing/testing_api_cmd_netjail_stop_cmds_helper.c
diff --git a/src/testing/testing_api_cmd_send_peer_ready.c 
b/src/lib/testing/testing_api_cmd_send_peer_ready.c
similarity index 100%
rename from src/testing/testing_api_cmd_send_peer_ready.c
rename to src/lib/testing/testing_api_cmd_send_peer_ready.c
diff --git a/src/testing/testing_api_cmd_start_peer.c 
b/src/lib/testing/testing_api_cmd_start_peer.c
similarity index 100%
rename from src/testing/testing_api_cmd_start_peer.c
rename to src/lib/testing/testing_api_cmd_start_peer.c
diff --git a/src/testing/testing_api_cmd_stop_peer.c 
b/src/lib/testing/testing_api_cmd_stop_peer.c
similarity index 100%
rename from src/testing/testing_api_cmd_stop_peer.c
rename to src/lib/testing/testing_api_cmd_stop_peer.c
diff --git a/src/testing/testing_api_cmd_system_create.c 
b/src/lib/testing/testing_api_cmd_system_create.c
similarity index 100%
rename from src/testing/testing_api_cmd_system_create.c
rename to src/lib/testing/testing_api_cmd_system_create.c
diff --git a/src/testing/testing_api_cmd_system_destroy.c 
b/src/lib/testing/testing_api_cmd_system_destroy.c
similarity index 100%
rename from src/testing/testing_api_cmd_system_destroy.c
rename to src/lib/testing/testing_api_cmd_system_destroy.c
diff --git a/src/testing/testing_api_loop.c b/src/lib/testing/testing_api_loop.c
similarity index 100%
rename from src/testing/testing_api_loop.c
rename to src/lib/testing/testing_api_loop.c
diff --git a/src/testing/testing_api_traits.c 
b/src/lib/testing/testing_api_traits.c
similarity index 100%
rename from src/testing/testing_api_traits.c
rename to src/lib/testing/testing_api_traits.c
diff --git a/src/testing/testing_cmds.h b/src/lib/testing/testing_cmds.h
similarity index 100%
rename from src/testing/testing_cmds.h
rename to src/lib/testing/testing_cmds.h
diff --git a/src/testing/topo.sh b/src/lib/testing/topo.sh
similarity index 100%
rename from src/testing/topo.sh
rename to src/lib/testing/topo.sh
diff --git a/src/messenger/Makefile.am b/src/messenger/Makefile.am
index 1af950b01..d464261df 100644
--- a/src/messenger/Makefile.am
+++ b/src/messenger/Makefile.am
@@ -54,7 +54,7 @@ libgnunetmessenger_la_SOURCES = \
 libgnunetmessenger_la_LIBADD = \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
   $(top_builddir)/src/cadet/libgnunetcadet.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   $(XLIB) \
   $(LTLIBINTL)
 libgnunetmessenger_la_LDFLAGS = \
@@ -94,7 +94,7 @@ gnunet_service_messenger_LDADD = \
   libgnunetmessenger.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
   $(top_builddir)/src/cadet/libgnunetcadet.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   $(GN_LIBINTL)
 
 check_PROGRAMS = test_messenger_anonymous
@@ -109,14 +109,14 @@ test_messenger_api_SOURCES = \
   test_messenger.c
 test_messenger_api_LDADD = \
   libgnunetmessenger.la \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la
 
 test_messenger_anonymous_SOURCES = \
   test_messenger_anonymous.c
 test_messenger_anonymous_LDADD = \
   libgnunetmessenger.la \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la
 
 EXTRA_DIST = \
diff --git a/src/namecache/Makefile.am b/src/namecache/Makefile.am
index 9ece350de..9be5a4fce 100644
--- a/src/namecache/Makefile.am
+++ b/src/namecache/Makefile.am
@@ -64,7 +64,7 @@ libgnunetnamecache_la_SOURCES = \
   namecache.h
 libgnunetnamecache_la_LIBADD = \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
   $(GN_LIBINTL)
 libgnunetnamecache_la_LDFLAGS = \
@@ -82,7 +82,7 @@ gnunet_namecache_SOURCES = \
  gnunet-namecache.c
 gnunet_namecache_LDADD = \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
   libgnunetnamecache.la \
   $(GN_LIBINTL)
@@ -92,7 +92,7 @@ gnunet_service_namecache_SOURCES = \
 
 gnunet_service_namecache_LDADD = \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   $(top_builddir)/src/statistics/libgnunetstatistics.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
   libgnunetnamecache.la \
@@ -110,7 +110,7 @@ libgnunet_plugin_namecache_flat_la_LIBADD = \
   libgnunetnamecache.la  \
   $(top_builddir)/src/statistics/libgnunetstatistics.la \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la $(XLIBS) \
   $(LTLIBINTL)
 libgnunet_plugin_namecache_flat_la_LDFLAGS = \
@@ -120,10 +120,10 @@ libgnunet_plugin_namecache_sqlite_la_SOURCES = \
   plugin_namecache_sqlite.c
 libgnunet_plugin_namecache_sqlite_la_LIBADD = \
   libgnunetnamecache.la  \
-  $(top_builddir)/src/sq/libgnunetsq.la \
+  $(top_builddir)/src/lib/sq/libgnunetsq.la \
   $(top_builddir)/src/statistics/libgnunetstatistics.la \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la $(XLIBS) -lsqlite3 \
   $(LTLIBINTL)
 libgnunet_plugin_namecache_sqlite_la_LDFLAGS = \
@@ -134,10 +134,10 @@ libgnunet_plugin_namecache_postgres_la_SOURCES = \
   plugin_namecache_postgres.c
 libgnunet_plugin_namecache_postgres_la_LIBADD = \
   libgnunetnamecache.la  \
-  $(top_builddir)/src/pq/libgnunetpq.la  \
+  $(top_builddir)/src/lib/pq/libgnunetpq.la  \
   $(top_builddir)/src/statistics/libgnunetstatistics.la \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la $(XLIBS) -lpq \
   $(LTLIBINTL)
 libgnunet_plugin_namecache_postgres_la_LDFLAGS = \
@@ -147,28 +147,28 @@ test_namecache_api_cache_block_SOURCES = \
  test_namecache_api_cache_block.c
 test_namecache_api_cache_block_LDADD = \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   libgnunetnamecache.la \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la
 
 
 test_plugin_namecache_flat_SOURCES = \
  test_plugin_namecache.c
 test_plugin_namecache_flat_LDADD = \
- $(top_builddir)/src/testing/libgnunettesting.la \
+ $(top_builddir)/src/lib/testing/libgnunettesting.la \
  $(top_builddir)/src/lib/util/libgnunetutil.la
 
 test_plugin_namecache_sqlite_SOURCES = \
  test_plugin_namecache.c
 test_plugin_namecache_sqlite_LDADD = \
- $(top_builddir)/src/testing/libgnunettesting.la \
+ $(top_builddir)/src/lib/testing/libgnunettesting.la \
  $(top_builddir)/src/lib/util/libgnunetutil.la
 
 test_plugin_namecache_postgres_SOURCES = \
  test_plugin_namecache.c
 test_plugin_namecache_postgres_LDADD = \
- $(top_builddir)/src/testing/libgnunettesting.la \
+ $(top_builddir)/src/lib/testing/libgnunettesting.la \
  $(top_builddir)/src/lib/util/libgnunetutil.la
 
 EXTRA_DIST = \
diff --git a/src/namestore/Makefile.am b/src/namestore/Makefile.am
index 8edc3b658..2bdc25d56 100644
--- a/src/namestore/Makefile.am
+++ b/src/namestore/Makefile.am
@@ -108,9 +108,9 @@ libgnunet_plugin_rest_namestore_la_SOURCES = \
   plugin_rest_namestore.c
 libgnunet_plugin_rest_namestore_la_LIBADD = \
   libgnunetnamestore.la \
-  $(top_builddir)/src/rest/libgnunetrest.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
-  $(top_builddir)/src/json/libgnunetjson.la \
+  $(top_builddir)/src/service/rest/libgnunetrest.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
+  $(top_builddir)/src/lib/json/libgnunetjson.la \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecordjson.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la $(XLIBS) \
@@ -126,7 +126,7 @@ libgnunetnamestore_la_SOURCES = \
   namestore.h
 libgnunetnamestore_la_LIBADD = \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la  \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   $(top_builddir)/src/statistics/libgnunetstatistics.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
   $(GN_LIBINTL)
@@ -138,7 +138,7 @@ gnunet_namestore_zonefile_SOURCES = \
  gnunet-namestore-zonefile.c
 gnunet_namestore_zonefile_LDADD = \
   libgnunetnamestore.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la  \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
   $(GN_LIBINTL)
@@ -148,7 +148,7 @@ gnunet_zoneimport_SOURCES = \
 gnunet_zoneimport_LDADD = \
   libgnunetnamestore.la \
   $(top_builddir)/src/statistics/libgnunetstatistics.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
   $(GN_LIBINTL)
@@ -156,7 +156,7 @@ gnunet_zoneimport_LDADD = \
 gnunet_namestore_SOURCES = \
  gnunet-namestore.c
 gnunet_namestore_LDADD = \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
   libgnunetnamestore.la \
@@ -175,10 +175,10 @@ gnunet_namestore_fcfsd_SOURCES = \
  gnunet-namestore-fcfsd.c
 gnunet_namestore_fcfsd_LDADD = $(MHD_LIBS) \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   libgnunetnamestore.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
-  $(top_builddir)/src/json/libgnunetjson.la \
+  $(top_builddir)/src/lib/json/libgnunetjson.la \
   $(GN_LIBINTL) -ljansson
 gnunet_namestore_fcfsd_CFLAGS = $(MHD_CFLAGS) $(AM_CFLAGS)
 
@@ -188,7 +188,7 @@ gnunet_service_namestore_SOURCES = \
 gnunet_service_namestore_LDADD = \
   $(top_builddir)/src/namecache/libgnunetnamecache.la \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   $(top_builddir)/src/statistics/libgnunetstatistics.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
   libgnunetnamestore.la \
@@ -200,8 +200,8 @@ libgnunet_plugin_namestore_sqlite_la_SOURCES = \
   plugin_namestore_sqlite.c
 libgnunet_plugin_namestore_sqlite_la_LIBADD = \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la  \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
-  $(top_builddir)/src/sq/libgnunetsq.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
+  $(top_builddir)/src/lib/sq/libgnunetsq.la \
   $(top_builddir)/src/statistics/libgnunetstatistics.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la $(XLIBS) -lsqlite3 \
   $(LTLIBINTL)
@@ -212,8 +212,8 @@ libgnunet_plugin_namestore_postgres_la_SOURCES = \
   plugin_namestore_postgres.c
 libgnunet_plugin_namestore_postgres_la_LIBADD = \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la  \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
-  $(top_builddir)/src/pq/libgnunetpq.la  \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
+  $(top_builddir)/src/lib/pq/libgnunetpq.la  \
   $(top_builddir)/src/statistics/libgnunetstatistics.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la $(XLIBS) -lpq \
   $(LTLIBINTL)
@@ -223,27 +223,27 @@ libgnunet_plugin_namestore_postgres_la_LDFLAGS = \
 test_namestore_api_store_sqlite_SOURCES = \
  test_namestore_api_store.c
 test_namestore_api_store_sqlite_LDADD = \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   libgnunetnamestore.la
 
 test_namestore_api_store_postgres_SOURCES = \
  test_namestore_api_store.c
 test_namestore_api_store_postgres_LDADD = \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   libgnunetnamestore.la
 
 test_namestore_api_store_update_sqlite_SOURCES = \
  test_namestore_api_store_update.c
 test_namestore_api_store_update_sqlite_LDADD = \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
   $(top_builddir)/src/namecache/libgnunetnamecache.la \
   libgnunetnamestore.la
@@ -251,9 +251,9 @@ test_namestore_api_store_update_sqlite_LDADD = \
 test_namestore_api_store_update_postgres_SOURCES = \
  test_namestore_api_store_update.c
 test_namestore_api_store_update_postgres_LDADD = \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
   $(top_builddir)/src/namecache/libgnunetnamecache.la \
   libgnunetnamestore.la
@@ -261,9 +261,9 @@ test_namestore_api_store_update_postgres_LDADD = \
 test_namestore_api_lookup_nick_sqlite_SOURCES = \
  test_namestore_api_lookup_nick.c
 test_namestore_api_lookup_nick_sqlite_LDADD = \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
   $(top_builddir)/src/namecache/libgnunetnamecache.la \
   libgnunetnamestore.la
@@ -271,9 +271,9 @@ test_namestore_api_lookup_nick_sqlite_LDADD = \
 test_namestore_api_lookup_nick_postgres_SOURCES = \
  test_namestore_api_lookup_nick.c
 test_namestore_api_lookup_nick_postgres_LDADD = \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
   $(top_builddir)/src/namecache/libgnunetnamecache.la \
   libgnunetnamestore.la
@@ -281,8 +281,8 @@ test_namestore_api_lookup_nick_postgres_LDADD = \
 test_namestore_api_remove_sqlite_SOURCES = \
  test_namestore_api_remove.c
 test_namestore_api_remove_sqlite_LDADD = \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
   libgnunetnamestore.la
@@ -290,8 +290,8 @@ test_namestore_api_remove_sqlite_LDADD = \
 test_namestore_api_remove_postgres_SOURCES = \
  test_namestore_api_remove.c
 test_namestore_api_remove_postgres_LDADD = \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
   libgnunetnamestore.la
@@ -299,17 +299,17 @@ test_namestore_api_remove_postgres_LDADD = \
 test_namestore_api_remove_not_existing_record_sqlite_SOURCES = \
  test_namestore_api_remove_not_existing_record.c
 test_namestore_api_remove_not_existing_record_sqlite_LDADD = \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
   libgnunetnamestore.la
 
 test_namestore_api_remove_not_existing_record_postgres_SOURCES = \
  test_namestore_api_remove_not_existing_record.c
 test_namestore_api_remove_not_existing_record_postgres_LDADD = \
-  $(top_builddir)/src/testing/libgnunettesting.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
   libgnunetnamestore.la
@@ -317,24 +317,24 @@ 
test_namestore_api_remove_not_existing_record_postgres_LDADD = \
 test_namestore_api_zone_to_name_sqlite_SOURCES = \
  test_namestore_api_zone_to_name.c
 test_namestore_api_zone_to_name_sqlite_LDADD = \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
   libgnunetnamestore.la
 
 test_namestore_api_zone_to_name_postgres_SOURCES = \
  test_namestore_api_zone_to_name.c
 test_namestore_api_zone_to_name_postgres_LDADD = \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
   libgnunetnamestore.la
 
 test_namestore_api_monitoring_sqlite_SOURCES = \
  test_namestore_api_monitoring.c
 test_namestore_api_monitoring_sqlite_LDADD = \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   libgnunetnamestore.la \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la
@@ -342,8 +342,8 @@ test_namestore_api_monitoring_sqlite_LDADD = \
 test_namestore_api_monitoring_postgres_SOURCES = \
  test_namestore_api_monitoring.c
 test_namestore_api_monitoring_postgres_LDADD = \
-  $(top_builddir)/src/testing/libgnunettesting.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   libgnunetnamestore.la \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la
@@ -351,8 +351,8 @@ test_namestore_api_monitoring_postgres_LDADD = \
 test_namestore_api_monitoring_existing_sqlite_SOURCES = \
  test_namestore_api_monitoring_existing.c
 test_namestore_api_monitoring_existing_sqlite_LDADD = \
-  $(top_builddir)/src/testing/libgnunettesting.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   libgnunetnamestore.la \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la
@@ -360,17 +360,17 @@ test_namestore_api_monitoring_existing_sqlite_LDADD = \
 test_namestore_api_monitoring_existing_postgres_SOURCES = \
  test_namestore_api_monitoring_existing.c
 test_namestore_api_monitoring_existing_postgres_LDADD = \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   libgnunetnamestore.la \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la
 
 test_namestore_api_tx_rollback_sqlite_SOURCES = \
  test_namestore_api_tx_rollback.c
 test_namestore_api_tx_rollback_sqlite_LDADD = \
-  $(top_builddir)/src/testing/libgnunettesting.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   libgnunetnamestore.la \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la
@@ -378,8 +378,8 @@ test_namestore_api_tx_rollback_sqlite_LDADD = \
 test_namestore_api_tx_rollback_postgres_SOURCES = \
  test_namestore_api_tx_rollback.c
 test_namestore_api_tx_rollback_postgres_LDADD = \
-  $(top_builddir)/src/testing/libgnunettesting.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   libgnunetnamestore.la \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la
@@ -388,8 +388,8 @@ if HAVE_EXPERIMENTAL
 test_namestore_api_edit_records_postgres_SOURCES = \
  test_namestore_api_edit_records.c
 test_namestore_api_edit_records_postgres_LDADD = \
-  $(top_builddir)/src/testing/libgnunettesting.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   libgnunetnamestore.la \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la
@@ -398,8 +398,8 @@ endif
 test_namestore_api_zone_iteration_sqlite_SOURCES = \
  test_namestore_api_zone_iteration.c
 test_namestore_api_zone_iteration_sqlite_LDADD = \
-  $(top_builddir)/src/testing/libgnunettesting.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
   libgnunetnamestore.la
@@ -407,8 +407,8 @@ test_namestore_api_zone_iteration_sqlite_LDADD = \
 test_namestore_api_zone_iteration_postgres_SOURCES = \
  test_namestore_api_zone_iteration.c
 test_namestore_api_zone_iteration_postgres_LDADD = \
-  $(top_builddir)/src/testing/libgnunettesting.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
   libgnunetnamestore.la
@@ -416,27 +416,27 @@ test_namestore_api_zone_iteration_postgres_LDADD = \
 perf_namestore_api_zone_iteration_postgres_SOURCES = \
  perf_namestore_api_zone_iteration.c
 perf_namestore_api_zone_iteration_postgres_LDADD = \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
   libgnunetnamestore.la
 
 perf_namestore_api_import_sqlite_SOURCES = \
  perf_namestore_api_import.c
 perf_namestore_api_import_sqlite_LDADD = \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
   libgnunetnamestore.la
 
 perf_namestore_api_import_postgres_SOURCES = \
  perf_namestore_api_import.c
 perf_namestore_api_import_postgres_LDADD = \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
   libgnunetnamestore.la
 
@@ -444,8 +444,8 @@ perf_namestore_api_import_postgres_LDADD = \
 perf_namestore_api_zone_iteration_sqlite_SOURCES = \
  perf_namestore_api_zone_iteration.c
 perf_namestore_api_zone_iteration_sqlite_LDADD = \
-  $(top_builddir)/src/testing/libgnunettesting.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
   libgnunetnamestore.la
@@ -453,8 +453,8 @@ perf_namestore_api_zone_iteration_sqlite_LDADD = \
 test_namestore_api_zone_iteration_nick_sqlite_SOURCES = \
  test_namestore_api_zone_iteration_nick.c
 test_namestore_api_zone_iteration_nick_sqlite_LDADD = \
-  $(top_builddir)/src/testing/libgnunettesting.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
   libgnunetnamestore.la
@@ -462,8 +462,8 @@ test_namestore_api_zone_iteration_nick_sqlite_LDADD = \
 test_namestore_api_zone_iteration_nick_postgres_SOURCES = \
  test_namestore_api_zone_iteration_nick.c
 test_namestore_api_zone_iteration_nick_postgres_LDADD = \
-  $(top_builddir)/src/testing/libgnunettesting.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
   libgnunetnamestore.la
@@ -471,8 +471,8 @@ test_namestore_api_zone_iteration_nick_postgres_LDADD = \
 test_namestore_api_zone_iteration_specific_zone_sqlite_SOURCES = \
  test_namestore_api_zone_iteration_specific_zone.c
 test_namestore_api_zone_iteration_specific_zone_sqlite_LDADD = \
-  $(top_builddir)/src/testing/libgnunettesting.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
   libgnunetnamestore.la
@@ -480,8 +480,8 @@ 
test_namestore_api_zone_iteration_specific_zone_sqlite_LDADD = \
 test_namestore_api_zone_iteration_specific_zone_postgres_SOURCES = \
  test_namestore_api_zone_iteration_specific_zone.c
 test_namestore_api_zone_iteration_specific_zone_postgres_LDADD = \
-  $(top_builddir)/src/testing/libgnunettesting.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
   libgnunetnamestore.la
@@ -489,8 +489,8 @@ 
test_namestore_api_zone_iteration_specific_zone_postgres_LDADD = \
 test_namestore_api_zone_iteration_stop_sqlite_SOURCES = \
  test_namestore_api_zone_iteration_stop.c
 test_namestore_api_zone_iteration_stop_sqlite_LDADD = \
-  $(top_builddir)/src/testing/libgnunettesting.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
   libgnunetnamestore.la
@@ -498,8 +498,8 @@ test_namestore_api_zone_iteration_stop_sqlite_LDADD = \
 test_namestore_api_zone_iteration_stop_postgres_SOURCES = \
  test_namestore_api_zone_iteration_stop.c
 test_namestore_api_zone_iteration_stop_postgres_LDADD = \
-  $(top_builddir)/src/testing/libgnunettesting.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
   libgnunetnamestore.la
@@ -507,15 +507,15 @@ test_namestore_api_zone_iteration_stop_postgres_LDADD = \
 test_plugin_namestore_sqlite_SOURCES = \
  test_plugin_namestore.c
 test_plugin_namestore_sqlite_LDADD = \
-  $(top_builddir)/src/testing/libgnunettesting.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la
 
 test_plugin_namestore_postgres_SOURCES = \
   test_plugin_namestore.c
 test_plugin_namestore_postgres_LDADD = \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la
 
 check_SCRIPTS = \
diff --git a/src/nse/Makefile.am b/src/nse/Makefile.am
index a6f2b8b36..053995c9a 100644
--- a/src/nse/Makefile.am
+++ b/src/nse/Makefile.am
@@ -46,7 +46,7 @@ libexec_PROGRAMS = \
 #  libgnunetnse.la \
 #  $(top_builddir)/src/lib/util/libgnunetutil.la \
 #  $(top_builddir)/src/statistics/libgnunetstatistics.la \
-#  $(top_builddir)/src/testing/libgnunettesting.la \
+#  $(top_builddir)/src/lib/testing/libgnunettesting.la \
 #  $(top_builddir)/src/testbed/libgnunettestbed.la \
 #  $(GN_LIBINTL)
 
@@ -55,7 +55,7 @@ gnunet_service_nse_SOURCES = \
 gnunet_service_nse_LDADD = \
   libgnunetnse.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
-  $(top_builddir)/src/core/libgnunetcore.la \
+  $(top_builddir)/src/service/core/libgnunetcore.la \
   $(top_builddir)/src/statistics/libgnunetstatistics.la \
   $(LIBGCRYPT_LIBS) \
   -lm -lgcrypt \
@@ -84,7 +84,7 @@ test_nse_api_SOURCES = \
  test_nse_api.c
 test_nse_api_LDADD = \
   libgnunetnse.la \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la
 
 test_nse_multipeer_SOURCES = \
diff --git a/src/peerstore/Makefile.am b/src/peerstore/Makefile.am
index e9835eb31..41a082f89 100644
--- a/src/peerstore/Makefile.am
+++ b/src/peerstore/Makefile.am
@@ -71,7 +71,7 @@ libgnunet_plugin_peerstore_sqlite_la_SOURCES = \
   plugin_peerstore_sqlite.c
 libgnunet_plugin_peerstore_sqlite_la_LIBADD = \
   libgnunetpeerstore.la  \
-  $(top_builddir)/src/sq/libgnunetsq.la \
+  $(top_builddir)/src/lib/sq/libgnunetsq.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
   $(XLIBS) -lsqlite3 \
   $(LTLIBINTL)
@@ -86,13 +86,13 @@ plugin_LTLIBRARIES = \
 test_plugin_peerstore_sqlite_SOURCES = \
   test_plugin_peerstore.c
 test_plugin_peerstore_sqlite_LDADD = \
-       $(top_builddir)/src/testing/libgnunettesting.la \
+       $(top_builddir)/src/lib/testing/libgnunettesting.la \
        $(top_builddir)/src/lib/util/libgnunetutil.la
 
 test_plugin_peerstore_flat_SOURCES = \
   test_plugin_peerstore.c
 test_plugin_peerstore_flat_LDADD = \
-       $(top_builddir)/src/testing/libgnunettesting.la \
+       $(top_builddir)/src/lib/testing/libgnunettesting.la \
        $(top_builddir)/src/lib/util/libgnunetutil.la
 
 check_PROGRAMS = \
@@ -118,33 +118,33 @@ test_peerstore_api_store_SOURCES = \
  test_peerstore_api_store.c
 test_peerstore_api_store_LDADD = \
   libgnunetpeerstore.la  \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la
 
 test_peerstore_api_iterate_SOURCES = \
  test_peerstore_api_iterate.c
 test_peerstore_api_iterate_LDADD = \
   libgnunetpeerstore.la  \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la
 
 test_peerstore_api_watch_SOURCES = \
  test_peerstore_api_watch.c
 test_peerstore_api_watch_LDADD = \
   libgnunetpeerstore.la  \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la
 
 test_peerstore_api_sync_SOURCES = \
  test_peerstore_api_sync.c
 test_peerstore_api_sync_LDADD = \
   libgnunetpeerstore.la  \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la
 
 perf_peerstore_store_SOURCES = \
  perf_peerstore_store.c
 perf_peerstore_store_LDADD = \
   libgnunetpeerstore.la  \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la
diff --git a/src/plugin/Makefile.am b/src/plugin/Makefile.am
index c3e06bca8..891777369 100644
--- a/src/plugin/Makefile.am
+++ b/src/plugin/Makefile.am
@@ -1,3 +1,4 @@
 SUBDIRS = \
        block \
-       gnsrecord
+       gnsrecord \
+       dhtu
diff --git a/src/dhtu/.gitignore b/src/plugin/dhtu/.gitignore
similarity index 100%
rename from src/dhtu/.gitignore
rename to src/plugin/dhtu/.gitignore
diff --git a/src/dhtu/Makefile.am b/src/plugin/dhtu/Makefile.am
similarity index 86%
rename from src/dhtu/Makefile.am
rename to src/plugin/dhtu/Makefile.am
index a22a72c89..26e706e36 100644
--- a/src/dhtu/Makefile.am
+++ b/src/plugin/dhtu/Makefile.am
@@ -33,7 +33,7 @@ endif
 libgnunet_plugin_dhtu_gnunet_la_SOURCES = \
   plugin_dhtu_gnunet.c
 libgnunet_plugin_dhtu_gnunet_la_LIBADD = \
-  $(top_builddir)/src/core/libgnunetcore.la \
+  $(top_builddir)/src/service/core/libgnunetcore.la \
   $(top_builddir)/src/peerstore/libgnunetpeerstore.la \
   $(top_builddir)/src/transport/libgnunettransportapplication.la \
   $(top_builddir)/src/lib/hello/libgnunethello.la \
@@ -51,8 +51,8 @@ lib_LTLIBRARIES = \
 libgnunettestingdhtu_la_SOURCES = \
   testing_dhtu_cmd_send.c
 libgnunettestingdhtu_la_LIBADD = \
- $(top_builddir)/src/testing/libgnunettesting.la \
- $(top_builddir)/src/arm/libgnunetarm.la \
+ $(top_builddir)/src/lib/testing/libgnunettesting.la \
+ $(top_builddir)/src/service/arm/libgnunetarm.la \
  $(top_builddir)/src/lib/util/libgnunetutil.la \
  $(LTLIBINTL)
 libgnunettestingdhtu_la_LDFLAGS = \
@@ -64,8 +64,8 @@ libgnunettestingdhtu_la_LDFLAGS = \
 test_dhtu_ip_SOURCES = \
  test_dhtu_ip.c
 test_dhtu_ip_LDADD = \
- $(top_builddir)/src/testing/libgnunettesting.la \
- $(top_builddir)/src/arm/libgnunetarm.la \
+ $(top_builddir)/src/lib/testing/libgnunettesting.la \
+ $(top_builddir)/src/service/arm/libgnunetarm.la \
  $(top_builddir)/src/lib/util/libgnunetutil.la
 
 check_PROGRAMS = \
diff --git a/src/dhtu/dhtu.conf b/src/plugin/dhtu/dhtu.conf
similarity index 100%
rename from src/dhtu/dhtu.conf
rename to src/plugin/dhtu/dhtu.conf
diff --git a/src/dhtu/meson.build b/src/plugin/dhtu/meson.build
similarity index 100%
rename from src/dhtu/meson.build
rename to src/plugin/dhtu/meson.build
diff --git a/src/dhtu/plugin_dhtu_gnunet.c 
b/src/plugin/dhtu/plugin_dhtu_gnunet.c
similarity index 100%
rename from src/dhtu/plugin_dhtu_gnunet.c
rename to src/plugin/dhtu/plugin_dhtu_gnunet.c
diff --git a/src/dhtu/plugin_dhtu_ip.c b/src/plugin/dhtu/plugin_dhtu_ip.c
similarity index 100%
rename from src/dhtu/plugin_dhtu_ip.c
rename to src/plugin/dhtu/plugin_dhtu_ip.c
diff --git a/src/dhtu/test_dhtu_ip.c b/src/plugin/dhtu/test_dhtu_ip.c
similarity index 100%
rename from src/dhtu/test_dhtu_ip.c
rename to src/plugin/dhtu/test_dhtu_ip.c
diff --git a/src/dhtu/testing_dhtu_cmd_send.c 
b/src/plugin/dhtu/testing_dhtu_cmd_send.c
similarity index 100%
rename from src/dhtu/testing_dhtu_cmd_send.c
rename to src/plugin/dhtu/testing_dhtu_cmd_send.c
diff --git a/src/pt/Makefile.am b/src/pt/Makefile.am
index c2d2ae505..f00d16a5c 100644
--- a/src/pt/Makefile.am
+++ b/src/pt/Makefile.am
@@ -54,9 +54,9 @@ test_gns_vpn_SOURCES = \
  test_gns_vpn.c
 test_gns_vpn_LDADD = $(MHD_LIBS) @LIBCURL@ \
  $(top_builddir)/src/namestore/libgnunetnamestore.la \
- $(top_builddir)/src/identity/libgnunetidentity.la \
+ $(top_builddir)/src/service/identity/libgnunetidentity.la \
  $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
- $(top_builddir)/src/testing/libgnunettesting.la \
+ $(top_builddir)/src/lib/testing/libgnunettesting.la \
  $(top_builddir)/src/lib/util/libgnunetutil.la
 test_gns_vpn_CFLAGS = $(MHD_CFLAGS) @LIBCURL_CPPFLAGS@ $(AM_CFLAGS)
 
@@ -64,7 +64,7 @@ test_gnunet_vpn_4_over_SOURCES = \
  test_gnunet_vpn.c
 test_gnunet_vpn_4_over_LDADD = $(MHD_LIBS) @LIBCURL@ \
  $(top_builddir)/src/vpn/libgnunetvpn.la \
- $(top_builddir)/src/testing/libgnunettesting.la \
+ $(top_builddir)/src/lib/testing/libgnunettesting.la \
  $(top_builddir)/src/lib/util/libgnunetutil.la
 test_gnunet_vpn_4_over_CFLAGS = $(MHD_CFLAGS) @LIBCURL_CPPFLAGS@ $(AM_CFLAGS)
 
@@ -72,7 +72,7 @@ test_gnunet_vpn_6_over_SOURCES = \
  test_gnunet_vpn.c
 test_gnunet_vpn_6_over_LDADD = $(MHD_LIBS) @LIBCURL@ \
  $(top_builddir)/src/vpn/libgnunetvpn.la \
- $(top_builddir)/src/testing/libgnunettesting.la \
+ $(top_builddir)/src/lib/testing/libgnunettesting.la \
  $(top_builddir)/src/lib/util/libgnunetutil.la
 test_gnunet_vpn_6_over_CFLAGS = $(MHD_CFLAGS) @LIBCURL_CPPFLAGS@ $(AM_CFLAGS)
 
@@ -80,7 +80,7 @@ test_gnunet_vpn_4_to_6_SOURCES = \
  test_gnunet_vpn.c
 test_gnunet_vpn_4_to_6_LDADD = $(MHD_LIBS) @LIBCURL@ \
  $(top_builddir)/src/vpn/libgnunetvpn.la \
- $(top_builddir)/src/testing/libgnunettesting.la \
+ $(top_builddir)/src/lib/testing/libgnunettesting.la \
  $(top_builddir)/src/lib/util/libgnunetutil.la
 test_gnunet_vpn_4_to_6_CFLAGS = $(MHD_CFLAGS) @LIBCURL_CPPFLAGS@ $(AM_CFLAGS)
 
@@ -88,6 +88,6 @@ test_gnunet_vpn_6_to_4_SOURCES = \
  test_gnunet_vpn.c
 test_gnunet_vpn_6_to_4_LDADD = $(MHD_LIBS) @LIBCURL@ \
  $(top_builddir)/src/vpn/libgnunetvpn.la \
- $(top_builddir)/src/testing/libgnunettesting.la \
+ $(top_builddir)/src/lib/testing/libgnunettesting.la \
  $(top_builddir)/src/lib/util/libgnunetutil.la
 test_gnunet_vpn_6_to_4_CFLAGS = $(MHD_CFLAGS) @LIBCURL_CPPFLAGS@ $(AM_CFLAGS)
diff --git a/src/reclaim/Makefile.am b/src/reclaim/Makefile.am
index ac3332ecf..e135f3534 100644
--- a/src/reclaim/Makefile.am
+++ b/src/reclaim/Makefile.am
@@ -58,11 +58,11 @@ libgnunet_plugin_rest_reclaim_la_SOURCES = \
   json_reclaim.h \
   json_reclaim.c
 libgnunet_plugin_rest_reclaim_la_LIBADD = \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   libgnunetreclaim.la \
-  $(top_builddir)/src/json/libgnunetjson.la \
+  $(top_builddir)/src/lib/json/libgnunetjson.la \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
-  $(top_builddir)/src/rest/libgnunetrest.la \
+  $(top_builddir)/src/service/rest/libgnunetrest.la \
   $(top_builddir)/src/namestore/libgnunetnamestore.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la $(XLIBS) \
   $(LTLIBINTL) -ljansson $(MHD_LIBS)
@@ -76,9 +76,9 @@ libgnunet_plugin_rest_openid_connect_la_SOURCES = \
   oidc_helper.h \
   oidc_helper.c
 libgnunet_plugin_rest_openid_connect_la_LIBADD = \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   libgnunetreclaim.la \
-  $(top_builddir)/src/rest/libgnunetrest.la \
+  $(top_builddir)/src/service/rest/libgnunetrest.la \
   $(top_builddir)/src/namestore/libgnunetnamestore.la \
   $(top_builddir)/src/gns/libgnunetgns.la \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
@@ -96,8 +96,8 @@ libgnunet_plugin_rest_pabc_la_SOURCES = \
   pabc_helper.c
 libgnunet_plugin_rest_pabc_la_LIBADD = \
   libgnunetreclaim.la \
-  $(top_builddir)/src/json/libgnunetjson.la \
-  $(top_builddir)/src/rest/libgnunetrest.la \
+  $(top_builddir)/src/lib/json/libgnunetjson.la \
+  $(top_builddir)/src/service/rest/libgnunetrest.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la $(XLIBS) \
   $(LTLIBINTL) -ljansson -lpabc $(MHD_LIBS)
 libgnunet_plugin_rest_pabc_la_LDFLAGS = \
@@ -121,7 +121,7 @@ gnunet_service_reclaim_SOURCES = \
  gnunet-service-reclaim_tickets.h
 gnunet_service_reclaim_LDADD = \
  $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
- $(top_builddir)/src/identity/libgnunetidentity.la \
+ $(top_builddir)/src/service/identity/libgnunetidentity.la \
  $(top_builddir)/src/lib/util/libgnunetutil.la \
  $(top_builddir)/src/namestore/libgnunetnamestore.la \
  $(top_builddir)/src/statistics/libgnunetstatistics.la \
@@ -138,7 +138,7 @@ libgnunetreclaim_la_SOURCES = \
  reclaim_credential.h
 libgnunetreclaim_la_LIBADD = \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   $(GN_LIBINTL) $(XLIB)
 libgnunetreclaim_la_LDFLAGS = \
   $(GN_LIB_LDFLAGS)   \
@@ -153,7 +153,7 @@ libgnunetdid_la_LIBADD = \
        $(top_builddir)/src/lib/util/libgnunetutil.la \
        $(top_builddir)/src/gns/libgnunetgns.la \
        $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
-       $(top_builddir)/src/identity/libgnunetidentity.la \
+       $(top_builddir)/src/service/identity/libgnunetidentity.la \
        $(top_builddir)/src/namestore/libgnunetnamestore.la \
        -ljansson \
   $(GN_LIBINTL) $(XLIB)
@@ -188,7 +188,7 @@ endif
 libgnunet_plugin_reclaim_credential_jwt_la_SOURCES = \
   plugin_reclaim_credential_jwt.c
 libgnunet_plugin_reclaim_credential_jwt_la_LIBADD = \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
   libgnunetreclaim.la \
   -ljansson\
@@ -202,7 +202,7 @@ gnunet_reclaim_LDADD = \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
   $(top_builddir)/src/namestore/libgnunetnamestore.la \
   libgnunetreclaim.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   $(GN_LIBINTL)
 
 test_reclaim_attribute_SOURCES = \
@@ -218,7 +218,7 @@ gnunet_did_LDADD = \
        $(top_builddir)/src/lib/util/libgnunetutil.la \
        $(top_builddir)/src/gns/libgnunetgns.la \
        $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
-       $(top_builddir)/src/identity/libgnunetidentity.la \
+       $(top_builddir)/src/service/identity/libgnunetidentity.la \
        $(top_builddir)/src/namestore/libgnunetnamestore.la \
   libgnunetdid.la \
        -ljansson
@@ -230,7 +230,7 @@ test_did_helper_LDADD = \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
        $(top_builddir)/src/gns/libgnunetgns.la \
        $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
-       $(top_builddir)/src/identity/libgnunetidentity.la \
+       $(top_builddir)/src/service/identity/libgnunetidentity.la \
        $(top_builddir)/src/namestore/libgnunetnamestore.la \
   libgnunetdid.la \
   -ljansson
diff --git a/src/regex/Makefile.am b/src/regex/Makefile.am
index cd96f2508..69f341259 100644
--- a/src/regex/Makefile.am
+++ b/src/regex/Makefile.am
@@ -141,14 +141,14 @@ test_regex_integration_SOURCES = \
   test_regex_integration.c
 test_regex_integration_LDADD = -lm \
   libgnunetregex.la \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la
 
 test_regex_api_SOURCES = \
   test_regex_api.c
 test_regex_api_LDADD = -lm \
   libgnunetregex.la \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la
 
 test_regex_iterate_api_SOURCES = \
diff --git a/src/rest-plugin/Makefile.am b/src/rest-plugin/Makefile.am
new file mode 100644
index 000000000..fb74b9f2e
--- /dev/null
+++ b/src/rest-plugin/Makefile.am
@@ -0,0 +1,3 @@
+SUBDIRS = \
+       rest \
+       identity
diff --git a/src/rest-plugin/identity/Makefile.am 
b/src/rest-plugin/identity/Makefile.am
new file mode 100644
index 000000000..bcad0c2dd
--- /dev/null
+++ b/src/rest-plugin/identity/Makefile.am
@@ -0,0 +1,26 @@
+# This Makefile.am is in the public domain
+AM_CPPFLAGS = -I$(top_srcdir)/src/include
+
+plugindir = $(libdir)/gnunet
+
+if USE_COVERAGE
+  AM_CFLAGS = --coverage -O0
+  XLIB = -lgcov
+endif
+
+plugin_LTLIBRARIES = libgnunet_plugin_rest_identity.la
+
+pkgcfgdir= $(pkgdatadir)/config.d/
+
+libexecdir= $(pkglibdir)/libexec/
+
+libgnunet_plugin_rest_identity_la_SOURCES = \
+  plugin_rest_identity.c
+libgnunet_plugin_rest_identity_la_LIBADD = \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
+  $(top_builddir)/src/service/rest/libgnunetrest.la \
+  $(top_builddir)/src/lib/util/libgnunetutil.la $(XLIBS) \
+  $(LTLIBINTL) -ljansson $(MHD_LIBS)
+libgnunet_plugin_rest_identity_la_LDFLAGS = \
+ $(GN_PLUGIN_LDFLAGS)
+libgnunet_plugin_rest_identity_la_CFLAGS = $(MHD_CFLAGS) $(AM_CFLAGS)
diff --git a/src/identity/plugin_rest_identity.c 
b/src/rest-plugin/identity/plugin_rest_identity.c
similarity index 99%
rename from src/identity/plugin_rest_identity.c
rename to src/rest-plugin/identity/plugin_rest_identity.c
index cae0e4d95..e7b7f8a9c 100644
--- a/src/identity/plugin_rest_identity.c
+++ b/src/rest-plugin/identity/plugin_rest_identity.c
@@ -28,7 +28,7 @@
 #include "gnunet_rest_plugin.h"
 #include "gnunet_identity_service.h"
 #include "gnunet_rest_lib.h"
-#include "identity.h"
+#include "../../service/identity/identity.h"
 #include "gnunet_util_lib.h"
 #include "microhttpd.h"
 #include <jansson.h>
diff --git a/src/rest/Makefile.am b/src/rest-plugin/rest/Makefile.am
similarity index 60%
copy from src/rest/Makefile.am
copy to src/rest-plugin/rest/Makefile.am
index e3952a45e..4f7f834fb 100644
--- a/src/rest/Makefile.am
+++ b/src/rest-plugin/rest/Makefile.am
@@ -7,31 +7,19 @@ pkgcfgdir= $(pkgdatadir)/config.d/
 
 libexecdir= $(pkglibdir)/libexec/
 
-pkgcfg_DATA = \
-   rest.conf
-
 if USE_COVERAGE
   AM_CFLAGS = --coverage -O0
   XLIBS = -lgcov
 endif
 
-lib_LTLIBRARIES = \
-  libgnunetrest.la 
-
-libexec_PROGRAMS = \
-  gnunet-rest-server
-
 plugin_LTLIBRARIES = \
   libgnunet_plugin_rest_copying.la \
   libgnunet_plugin_rest_config.la
 
-EXTRA_DIST = \
- rest.conf
-
 libgnunet_plugin_rest_copying_la_SOURCES = \
   plugin_rest_copying.c
 libgnunet_plugin_rest_copying_la_LIBADD = \
-  libgnunetrest.la \
+  $(top_builddir)/src/service/rest/libgnunetrest.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la $(XLIBS) \
   $(LTLIBINTL) $(MHD_LIBS)
 libgnunet_plugin_rest_copying_la_LDFLAGS = \
@@ -41,28 +29,9 @@ libgnunet_plugin_rest_copying_la_CFLAGS = $(MHD_CFLAGS) 
$(AM_CFLAGS)
 libgnunet_plugin_rest_config_la_SOURCES = \
   plugin_rest_config.c
 libgnunet_plugin_rest_config_la_LIBADD = \
-  libgnunetrest.la \
+  $(top_builddir)/src/service/rest/libgnunetrest.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la $(XLIBS) \
   $(LTLIBINTL) $(MHD_LIBS) -ljansson
 libgnunet_plugin_rest_config_la_LDFLAGS = \
  $(GN_PLUGIN_LDFLAGS)
 libgnunet_plugin_rest_config_la_CFLAGS = $(MHD_CFLAGS) $(AM_CFLAGS)
-
-
-
-gnunet_rest_server_SOURCES = \
- gnunet-rest-server.c
-gnunet_rest_server_LDADD = \
-  $(top_builddir)/src/lib/util/libgnunetutil.la \
-  $(GN_LIBINTL) $(MHD_LIBS)
-gnunet_rest_server_CFLAGS = $(MHD_CFLAGS) $(AM_CFLAGS)
-
-libgnunetrest_la_SOURCES = \
-  rest.c
-libgnunetrest_la_LIBADD = \
-  $(top_builddir)/src/lib/util/libgnunetutil.la $(XLIB) \
-  $(GN_LIBINTL) $(MHD_LIBS)
-libgnunetrest_la_LDFLAGS = \
-  $(GN_LIB_LDFLAGS) \
-  -version-info 0:0:0
-libgnunetrest_la_CFLAGS = $(MHD_CFLAGS) $(AM_CFLAGS)
diff --git a/src/rest/plugin_rest_config.c 
b/src/rest-plugin/rest/plugin_rest_config.c
similarity index 100%
rename from src/rest/plugin_rest_config.c
rename to src/rest-plugin/rest/plugin_rest_config.c
diff --git a/src/rest/plugin_rest_copying.c 
b/src/rest-plugin/rest/plugin_rest_copying.c
similarity index 100%
rename from src/rest/plugin_rest_copying.c
rename to src/rest-plugin/rest/plugin_rest_copying.c
diff --git a/src/revocation/Makefile.am b/src/revocation/Makefile.am
index 8afb58a80..d271298a8 100644
--- a/src/revocation/Makefile.am
+++ b/src/revocation/Makefile.am
@@ -28,7 +28,7 @@ libgnunet_plugin_block_revocation_la_LIBADD = \
   $(top_builddir)/src/lib/block/libgnunetblockgroup.la \
   $(top_builddir)/src/lib/block/libgnunetblock.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la  \
-  $(top_builddir)/src/identity/libgnunetidentity.la  \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la  \
   $(LTLIBINTL)
 libgnunet_plugin_block_revocation_la_LDFLAGS = \
  $(GN_PLUGIN_LDFLAGS)
@@ -38,7 +38,7 @@ gnunet_revocation_SOURCES = \
  gnunet-revocation.c
 gnunet_revocation_LDADD = \
   libgnunetrevocation.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
   $(GN_LIBINTL)
 
@@ -46,15 +46,15 @@ gnunet_revocation_tvg_SOURCES = \
  gnunet-revocation-tvg.c
 gnunet_revocation_tvg_LDADD = \
   libgnunetrevocation.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
   $(GN_LIBINTL)
 
 test_revocation_lsd0001testvectors_SOURCES = \
  test_revocation_testvectors.c
 test_revocation_lsd0001testvectors_LDADD = \
-  $(top_builddir)/src/testing/libgnunettesting.la \
-       $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
+       $(top_builddir)/src/service/identity/libgnunetidentity.la \
   libgnunetrevocation.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la
 
@@ -64,7 +64,7 @@ libgnunetrevocation_la_SOURCES = \
   revocation_api.c revocation.h
 libgnunetrevocation_la_LIBADD = \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la \
   $(LIBGCRYPT_LIBS) \
   $(GN_LIBINTL) $(XLIB) -lgcrypt
 libgnunetrevocation_la_LDFLAGS = \
@@ -81,10 +81,10 @@ gnunet_service_revocation_SOURCES = \
  gnunet-service-revocation.c
 gnunet_service_revocation_LDADD = \
   libgnunetrevocation.la \
-  $(top_builddir)/src/core/libgnunetcore.la \
+  $(top_builddir)/src/service/core/libgnunetcore.la \
   $(top_builddir)/src/setu/libgnunetsetu.la \
   $(top_builddir)/src/statistics/libgnunetstatistics.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la  \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la  \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
   -lm \
   $(GN_LIBINTL)
@@ -92,7 +92,7 @@ gnunet_service_revocation_LDADD = \
 test_revocation_SOURCES = \
  test_revocation.c
 test_revocation_LDADD = \
- $(top_builddir)/src/identity/libgnunetidentity.la \
+ $(top_builddir)/src/service/identity/libgnunetidentity.la \
  libgnunetrevocation.la \
  $(top_builddir)/src//core/libgnunetcore.la \
  $(top_builddir)/src/lib/util/libgnunetutil.la \
diff --git a/src/secretsharing/Makefile.am b/src/secretsharing/Makefile.am
index 30b3f8057..6879ef609 100644
--- a/src/secretsharing/Makefile.am
+++ b/src/secretsharing/Makefile.am
@@ -28,7 +28,7 @@ lib_LTLIBRARIES = \
 # gnunet-secretsharing-profiler.c
 #gnunet_secretsharing_profiler_LDADD = \
 #  libgnunetsecretsharing.la \
-#  $(top_builddir)/src/testing/libgnunettesting.la \
+#  $(top_builddir)/src/lib/testing/libgnunettesting.la \
 #  $(top_builddir)/src/testbed/libgnunettestbed.la \
 #  $(top_builddir)/src/lib/util/libgnunetutil.la \
 #  $(GN_LIBINTL)
@@ -67,7 +67,7 @@ test_secretsharing_api_SOURCES = \
  test_secretsharing_api.c
 test_secretsharing_api_LDADD = \
   libgnunetsecretsharing.la \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la
 
 EXTRA_DIST = \
diff --git a/src/service/Makefile.am b/src/service/Makefile.am
index d94046cde..737a4fd4d 100644
--- a/src/service/Makefile.am
+++ b/src/service/Makefile.am
@@ -1,2 +1,6 @@
 SUBDIRS = \
-       util
+       util \
+       arm \
+       core \
+       identity \
+       rest
diff --git a/src/arm/.gitignore b/src/service/arm/.gitignore
similarity index 91%
rename from src/arm/.gitignore
rename to src/service/arm/.gitignore
index 859c6e393..b1d66852b 100644
--- a/src/arm/.gitignore
+++ b/src/service/arm/.gitignore
@@ -1,5 +1,5 @@
+arm.conf
 mockup-service
-gnunet-arm
 gnunet-service-arm
 test_arm_api
 test_exponential_backoff
diff --git a/src/arm/Makefile.am b/src/service/arm/Makefile.am
similarity index 65%
rename from src/arm/Makefile.am
rename to src/service/arm/Makefile.am
index 6ecc7ca7a..32addeef1 100644
--- a/src/arm/Makefile.am
+++ b/src/service/arm/Makefile.am
@@ -25,22 +25,12 @@ libgnunetarm_la_LDFLAGS = \
   -version-info 2:0:0
 
 
-bin_PROGRAMS = \
- gnunet-arm
-
 noinst_PROGRAMS = \
  mockup-service
 
 libexec_PROGRAMS = \
  gnunet-service-arm
 
-gnunet_arm_SOURCES = \
- gnunet-arm.c
-gnunet_arm_LDADD = \
-  libgnunetarm.la \
-  $(top_builddir)/src/lib/util/libgnunetutil.la \
-  $(GN_LIBINTL)
-
 gnunet_service_arm_SOURCES = \
  gnunet-service-arm.c
 gnunet_service_arm_LDADD = \
@@ -60,11 +50,6 @@ check_PROGRAMS = \
  test_exponential_backoff \
  test_gnunet_service_arm
 
-if HAVE_PYTHON
-check_SCRIPTS = \
- test_gnunet_arm.py
-endif
-
 if ENABLE_TEST_RUN
 AM_TESTS_ENVIRONMENT=export GNUNET_PREFIX=$${GNUNET_PREFIX:-@libdir@};export 
PATH=$${GNUNET_PREFIX:-@prefix@}/bin:$$PATH;unset XDG_DATA_HOME;unset 
XDG_CONFIG_HOME;
 TESTS = $(check_PROGRAMS)  $(check_SCRIPTS)
@@ -88,15 +73,5 @@ test_gnunet_service_arm_SOURCES = \
   libgnunetarm.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la
 
-SUFFIXES = .py.in .py
-.py.in.py:
-       $(AWK) -v bdir="$(bindir)" -v py="$(PYTHON)" -v awkay="$(AWK_BINARY)" 
-v pfx="$(prefix)" -v prl="$(PERL)" -v sysconfdirectory="$(sysconfdir)" -v 
pkgdatadirectory="$(pkgdatadir)" -f $(top_srcdir)/bin/dosubst.awk < 
$(srcdir)/$< > $@
-       chmod +x $@
-
-test_gnunet_arm.py: test_gnunet_arm.py.in Makefile
-       $(AWK) -v bdir="$(bindir)" -v py="$(PYTHON)" -v awkay="$(AWK_BINARY)" 
-v pfx="$(prefix)" -v prl="$(PERL)" -v sysconfdirectory="$(sysconfdir)" -v 
pkgdatadirectory="$(pkgdatadir)" -f $(top_srcdir)/bin/dosubst.awk < 
$(srcdir)/test_gnunet_arm.py.in > test_gnunet_arm.py
-       chmod +x test_gnunet_arm.py
-
 EXTRA_DIST = \
-  test_arm_api_data.conf \
-  test_gnunet_arm.py.in
+  test_arm_api_data.conf
diff --git a/src/arm/arm.conf.in b/src/service/arm/arm.conf.in
similarity index 100%
rename from src/arm/arm.conf.in
rename to src/service/arm/arm.conf.in
diff --git a/src/arm/arm.h b/src/service/arm/arm.h
similarity index 100%
rename from src/arm/arm.h
rename to src/service/arm/arm.h
diff --git a/src/arm/arm_api.c b/src/service/arm/arm_api.c
similarity index 100%
rename from src/arm/arm_api.c
rename to src/service/arm/arm_api.c
diff --git a/src/arm/arm_monitor_api.c b/src/service/arm/arm_monitor_api.c
similarity index 100%
rename from src/arm/arm_monitor_api.c
rename to src/service/arm/arm_monitor_api.c
diff --git a/src/arm/gnunet-service-arm.c b/src/service/arm/gnunet-service-arm.c
similarity index 100%
rename from src/arm/gnunet-service-arm.c
rename to src/service/arm/gnunet-service-arm.c
diff --git a/src/arm/meson.build b/src/service/arm/meson.build
similarity index 100%
rename from src/arm/meson.build
rename to src/service/arm/meson.build
diff --git a/src/arm/mockup-service.c b/src/service/arm/mockup-service.c
similarity index 100%
rename from src/arm/mockup-service.c
rename to src/service/arm/mockup-service.c
diff --git a/src/arm/mockup_service b/src/service/arm/mockup_service
similarity index 100%
rename from src/arm/mockup_service
rename to src/service/arm/mockup_service
diff --git a/src/arm/test_arm_api.c b/src/service/arm/test_arm_api.c
similarity index 100%
rename from src/arm/test_arm_api.c
rename to src/service/arm/test_arm_api.c
diff --git a/src/arm/test_arm_api_data.conf 
b/src/service/arm/test_arm_api_data.conf
similarity index 100%
rename from src/arm/test_arm_api_data.conf
rename to src/service/arm/test_arm_api_data.conf
diff --git a/src/arm/test_exponential_backoff.c 
b/src/service/arm/test_exponential_backoff.c
similarity index 100%
rename from src/arm/test_exponential_backoff.c
rename to src/service/arm/test_exponential_backoff.c
diff --git a/src/arm/test_gnunet_arm.py.in 
b/src/service/arm/test_gnunet_arm.py.in
similarity index 100%
rename from src/arm/test_gnunet_arm.py.in
rename to src/service/arm/test_gnunet_arm.py.in
diff --git a/src/arm/test_gnunet_service_arm.c 
b/src/service/arm/test_gnunet_service_arm.c
similarity index 100%
rename from src/arm/test_gnunet_service_arm.c
rename to src/service/arm/test_gnunet_service_arm.c
diff --git a/src/core/.gitignore b/src/service/core/.gitignore
similarity index 95%
rename from src/core/.gitignore
rename to src/service/core/.gitignore
index cdd1f93c2..e985f5ff4 100644
--- a/src/core/.gitignore
+++ b/src/service/core/.gitignore
@@ -1,5 +1,5 @@
 gnunet-service-core
-gnunet-core
+core.conf
 test_core_api
 test_core_api_reliability
 test_core_api_send_to_self
diff --git a/src/core/Makefile.am b/src/service/core/Makefile.am
similarity index 87%
rename from src/core/Makefile.am
rename to src/service/core/Makefile.am
index 7a9046c57..9ce8cf8b5 100644
--- a/src/core/Makefile.am
+++ b/src/service/core/Makefile.am
@@ -41,11 +41,11 @@ libgnunet_test_core_plugin_cmd_just_run_la_LIBADD = \
   libgnunetcoretesting.la \
   $(top_builddir)/src/transport/libgnunettransportapplication.la \
   $(top_builddir)/src/transport/libgnunettransportcore.la \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   $(top_builddir)/src/peerstore/libgnunetpeerstore.la \
   $(top_builddir)/src/statistics/libgnunetstatistics.la \
   $(top_builddir)/src/lib/hello/libgnunethello.la \
-  $(top_builddir)/src/arm/libgnunetarm.la \
+  $(top_builddir)/src/service/arm/libgnunetarm.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
   $(LTLIBINTL)
 libgnunet_test_core_plugin_cmd_just_run_la_LDFLAGS = \
@@ -54,8 +54,8 @@ libgnunet_test_core_plugin_cmd_just_run_la_LDFLAGS = \
 libgnunetcoretesting_la_SOURCES = \
   core_api_cmd_connecting_peers.c 
 libgnunetcoretesting_la_LIBADD = \
-  $(top_builddir)/src/testing/libgnunettesting.la \
-  $(top_builddir)/src/arm/libgnunetarm.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
+  $(top_builddir)/src/service/arm/libgnunetarm.la \
   $(top_builddir)/src/transport/libgnunettransportapplication.la \
   $(top_builddir)/src/transport/libgnunettransportcore.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la
@@ -68,9 +68,6 @@ libgnunetcoretesting_la_LDFLAGS = \
 libexec_PROGRAMS = \
  gnunet-service-core
 
-bin_PROGRAMS = \
- gnunet-core
-
 gnunet_service_core_SOURCES = \
  gnunet-service-core.c gnunet-service-core.h \
  gnunet-service-core_kx.c gnunet-service-core_kx.h \
@@ -84,14 +81,6 @@ gnunet_service_core_LDADD = \
   $(GN_LIBINTL) $(Z_LIBS)
 
 
-gnunet_core_SOURCES = \
- gnunet-core.c
-gnunet_core_LDADD = \
-  libgnunetcore.la \
-  $(top_builddir)/src/lib/util/libgnunetutil.la
-gnunet_core_LDFLAGS = \
-  $(GN_LIBINTL)
-
 TESTING_TESTS = \
   test_core_api_send_to_self
 
@@ -113,13 +102,13 @@ test_core_api_send_to_self_SOURCES = \
  test_core_api_send_to_self.c
 test_core_api_send_to_self_LDADD = \
  libgnunetcore.la \
- $(top_builddir)/src/testing/libgnunettesting.la \
+ $(top_builddir)/src/lib/testing/libgnunettesting.la \
  $(top_builddir)/src/lib/util/libgnunetutil.la
 
 test_core_api_start_only_SOURCES = \
  test_core_api_start_only.c
 test_core_api_start_only_LDADD = \
- $(top_builddir)/src/testing/libgnunettesting.la \
+ $(top_builddir)/src/lib/testing/libgnunettesting.la \
  libgnunetcore.la \
  $(top_builddir)/src/lib/util/libgnunetutil.la
 
diff --git a/src/core/core.conf.in b/src/service/core/core.conf.in
similarity index 100%
rename from src/core/core.conf.in
rename to src/service/core/core.conf.in
diff --git a/src/core/core.h b/src/service/core/core.h
similarity index 100%
rename from src/core/core.h
rename to src/service/core/core.h
diff --git a/src/core/core_api.c b/src/service/core/core_api.c
similarity index 100%
rename from src/core/core_api.c
rename to src/service/core/core_api.c
diff --git a/src/core/core_api_cmd_connecting_peers.c 
b/src/service/core/core_api_cmd_connecting_peers.c
similarity index 100%
rename from src/core/core_api_cmd_connecting_peers.c
rename to src/service/core/core_api_cmd_connecting_peers.c
diff --git a/src/core/core_api_monitor_peers.c 
b/src/service/core/core_api_monitor_peers.c
similarity index 100%
rename from src/core/core_api_monitor_peers.c
rename to src/service/core/core_api_monitor_peers.c
diff --git a/src/core/gnunet-service-core.c 
b/src/service/core/gnunet-service-core.c
similarity index 100%
rename from src/core/gnunet-service-core.c
rename to src/service/core/gnunet-service-core.c
diff --git a/src/core/gnunet-service-core.h 
b/src/service/core/gnunet-service-core.h
similarity index 100%
rename from src/core/gnunet-service-core.h
rename to src/service/core/gnunet-service-core.h
diff --git a/src/core/gnunet-service-core_kx.c 
b/src/service/core/gnunet-service-core_kx.c
similarity index 100%
rename from src/core/gnunet-service-core_kx.c
rename to src/service/core/gnunet-service-core_kx.c
diff --git a/src/core/gnunet-service-core_kx.h 
b/src/service/core/gnunet-service-core_kx.h
similarity index 100%
rename from src/core/gnunet-service-core_kx.h
rename to src/service/core/gnunet-service-core_kx.h
diff --git a/src/core/gnunet-service-core_sessions.c 
b/src/service/core/gnunet-service-core_sessions.c
similarity index 100%
rename from src/core/gnunet-service-core_sessions.c
rename to src/service/core/gnunet-service-core_sessions.c
diff --git a/src/core/gnunet-service-core_sessions.h 
b/src/service/core/gnunet-service-core_sessions.h
similarity index 100%
rename from src/core/gnunet-service-core_sessions.h
rename to src/service/core/gnunet-service-core_sessions.h
diff --git a/src/core/gnunet-service-core_typemap.c 
b/src/service/core/gnunet-service-core_typemap.c
similarity index 100%
rename from src/core/gnunet-service-core_typemap.c
rename to src/service/core/gnunet-service-core_typemap.c
diff --git a/src/core/gnunet-service-core_typemap.h 
b/src/service/core/gnunet-service-core_typemap.h
similarity index 100%
rename from src/core/gnunet-service-core_typemap.h
rename to src/service/core/gnunet-service-core_typemap.h
diff --git a/src/core/meson.build b/src/service/core/meson.build
similarity index 100%
rename from src/core/meson.build
rename to src/service/core/meson.build
diff --git a/src/core/test_core_api.c b/src/service/core/test_core_api.c
similarity index 100%
rename from src/core/test_core_api.c
rename to src/service/core/test_core_api.c
diff --git a/src/core/test_core_api_data.conf 
b/src/service/core/test_core_api_data.conf
similarity index 100%
rename from src/core/test_core_api_data.conf
rename to src/service/core/test_core_api_data.conf
diff --git a/src/core/test_core_api_peer1.conf 
b/src/service/core/test_core_api_peer1.conf
similarity index 100%
rename from src/core/test_core_api_peer1.conf
rename to src/service/core/test_core_api_peer1.conf
diff --git a/src/core/test_core_api_peer2.conf 
b/src/service/core/test_core_api_peer2.conf
similarity index 100%
rename from src/core/test_core_api_peer2.conf
rename to src/service/core/test_core_api_peer2.conf
diff --git a/src/core/test_core_api_reliability.c 
b/src/service/core/test_core_api_reliability.c
similarity index 100%
rename from src/core/test_core_api_reliability.c
rename to src/service/core/test_core_api_reliability.c
diff --git a/src/core/test_core_api_send_to_self.c 
b/src/service/core/test_core_api_send_to_self.c
similarity index 100%
rename from src/core/test_core_api_send_to_self.c
rename to src/service/core/test_core_api_send_to_self.c
diff --git a/src/core/test_core_api_send_to_self.conf 
b/src/service/core/test_core_api_send_to_self.conf
similarity index 100%
rename from src/core/test_core_api_send_to_self.conf
rename to src/service/core/test_core_api_send_to_self.conf
diff --git a/src/core/test_core_api_start_only.c 
b/src/service/core/test_core_api_start_only.c
similarity index 100%
rename from src/core/test_core_api_start_only.c
rename to src/service/core/test_core_api_start_only.c
diff --git a/src/core/test_core_defaults.conf 
b/src/service/core/test_core_defaults.conf
similarity index 100%
rename from src/core/test_core_defaults.conf
rename to src/service/core/test_core_defaults.conf
diff --git a/src/core/test_core_plugin_cmd_just_run.c 
b/src/service/core/test_core_plugin_cmd_just_run.c
similarity index 100%
rename from src/core/test_core_plugin_cmd_just_run.c
rename to src/service/core/test_core_plugin_cmd_just_run.c
diff --git a/src/core/test_core_quota_asymmetric_recv_limited_peer1.conf 
b/src/service/core/test_core_quota_asymmetric_recv_limited_peer1.conf
similarity index 100%
rename from src/core/test_core_quota_asymmetric_recv_limited_peer1.conf
rename to src/service/core/test_core_quota_asymmetric_recv_limited_peer1.conf
diff --git a/src/core/test_core_quota_asymmetric_recv_limited_peer2.conf 
b/src/service/core/test_core_quota_asymmetric_recv_limited_peer2.conf
similarity index 100%
rename from src/core/test_core_quota_asymmetric_recv_limited_peer2.conf
rename to src/service/core/test_core_quota_asymmetric_recv_limited_peer2.conf
diff --git a/src/core/test_core_quota_asymmetric_send_limit_peer1.conf 
b/src/service/core/test_core_quota_asymmetric_send_limit_peer1.conf
similarity index 100%
rename from src/core/test_core_quota_asymmetric_send_limit_peer1.conf
rename to src/service/core/test_core_quota_asymmetric_send_limit_peer1.conf
diff --git a/src/core/test_core_quota_asymmetric_send_limit_peer2.conf 
b/src/service/core/test_core_quota_asymmetric_send_limit_peer2.conf
similarity index 100%
rename from src/core/test_core_quota_asymmetric_send_limit_peer2.conf
rename to src/service/core/test_core_quota_asymmetric_send_limit_peer2.conf
diff --git a/src/core/test_core_quota_compliance.c 
b/src/service/core/test_core_quota_compliance.c
similarity index 100%
rename from src/core/test_core_quota_compliance.c
rename to src/service/core/test_core_quota_compliance.c
diff --git a/src/core/test_core_quota_peer1.conf 
b/src/service/core/test_core_quota_peer1.conf
similarity index 100%
rename from src/core/test_core_quota_peer1.conf
rename to src/service/core/test_core_quota_peer1.conf
diff --git a/src/core/test_core_quota_peer2.conf 
b/src/service/core/test_core_quota_peer2.conf
similarity index 100%
rename from src/core/test_core_quota_peer2.conf
rename to src/service/core/test_core_quota_peer2.conf
diff --git a/src/core/test_core_start_testcase.sh 
b/src/service/core/test_core_start_testcase.sh
similarity index 100%
rename from src/core/test_core_start_testcase.sh
rename to src/service/core/test_core_start_testcase.sh
diff --git a/src/identity/.gitignore b/src/service/identity/.gitignore
similarity index 100%
rename from src/identity/.gitignore
rename to src/service/identity/.gitignore
diff --git a/src/identity/Makefile.am b/src/service/identity/Makefile.am
similarity index 63%
rename from src/identity/Makefile.am
rename to src/service/identity/Makefile.am
index bd9712da3..079a9af2e 100644
--- a/src/identity/Makefile.am
+++ b/src/service/identity/Makefile.am
@@ -8,8 +8,6 @@ if USE_COVERAGE
   XLIB = -lgcov
 endif
 
-plugin_LTLIBRARIES = libgnunet_plugin_rest_identity.la
-
 pkgcfgdir= $(pkgdatadir)/config.d/
 
 libexecdir= $(pkglibdir)/libexec/
@@ -21,18 +19,6 @@ lib_LTLIBRARIES = \
   libgnunetidentity.la
 
 
-libgnunet_plugin_rest_identity_la_SOURCES = \
-  plugin_rest_identity.c
-libgnunet_plugin_rest_identity_la_LIBADD = \
-  libgnunetidentity.la \
-  $(top_builddir)/src/rest/libgnunetrest.la \
-  $(top_builddir)/src/lib/util/libgnunetutil.la $(XLIBS) \
-  $(LTLIBINTL) -ljansson $(MHD_LIBS)
-libgnunet_plugin_rest_identity_la_LDFLAGS = \
- $(GN_PLUGIN_LDFLAGS)
-libgnunet_plugin_rest_identity_la_CFLAGS = $(MHD_CFLAGS) $(AM_CFLAGS)
-
-
 libgnunetidentity_la_SOURCES = \
   identity_api.c \
   identity_api_lookup.c \
@@ -46,9 +32,6 @@ libgnunetidentity_la_LDFLAGS = \
   -lsodium \
   -version-info 1:0:0
 
-bin_PROGRAMS = \
- gnunet-identity
-
 libexec_PROGRAMS = \
  gnunet-service-identity
 
@@ -61,20 +44,9 @@ gnunet_service_identity_LDADD = \
   $(GN_LIBINTL)
 
 
-gnunet_identity_SOURCES = \
- gnunet-identity.c
-gnunet_identity_LDADD = \
-  libgnunetidentity.la \
-  $(top_builddir)/src/statistics/libgnunetstatistics.la \
-  $(top_builddir)/src/lib/util/libgnunetutil.la \
-  $(GN_LIBINTL)
-
 check_PROGRAMS = \
  test_identity
 
-check_SCRIPTS = \
-  test_identity_messages.sh
-
 # if ENABLE_TEST_RUN
 # AM_TESTS_ENVIRONMENT=export GNUNET_PREFIX=$${GNUNET_PREFIX:-@libdir@};export 
PATH=$${GNUNET_PREFIX:-@prefix@}/bin:$$PATH;unset XDG_DATA_HOME;unset 
XDG_CONFIG_HOME;
 # TESTS = $(check_PROGRAMS) $(check_SCRIPTS)
@@ -85,7 +57,7 @@ test_identity_SOURCES = \
  test_identity.c
 test_identity_LDADD = \
   libgnunetidentity.la \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la
 
 EXTRA_DIST = \
diff --git a/src/identity/gnunet-service-identity.c 
b/src/service/identity/gnunet-service-identity.c
similarity index 100%
rename from src/identity/gnunet-service-identity.c
rename to src/service/identity/gnunet-service-identity.c
diff --git a/src/identity/identity.conf.in 
b/src/service/identity/identity.conf.in
similarity index 100%
rename from src/identity/identity.conf.in
rename to src/service/identity/identity.conf.in
diff --git a/src/identity/identity.h b/src/service/identity/identity.h
similarity index 100%
rename from src/identity/identity.h
rename to src/service/identity/identity.h
diff --git a/src/identity/identity_api.c b/src/service/identity/identity_api.c
similarity index 100%
rename from src/identity/identity_api.c
rename to src/service/identity/identity_api.c
diff --git a/src/identity/identity_api_lookup.c 
b/src/service/identity/identity_api_lookup.c
similarity index 100%
rename from src/identity/identity_api_lookup.c
rename to src/service/identity/identity_api_lookup.c
diff --git a/src/identity/identity_api_suffix_lookup.c 
b/src/service/identity/identity_api_suffix_lookup.c
similarity index 100%
rename from src/identity/identity_api_suffix_lookup.c
rename to src/service/identity/identity_api_suffix_lookup.c
diff --git a/src/identity/meson.build b/src/service/identity/meson.build
similarity index 100%
rename from src/identity/meson.build
rename to src/service/identity/meson.build
diff --git a/src/identity/test_identity.c b/src/service/identity/test_identity.c
similarity index 100%
rename from src/identity/test_identity.c
rename to src/service/identity/test_identity.c
diff --git a/src/identity/test_identity.conf 
b/src/service/identity/test_identity.conf
similarity index 100%
rename from src/identity/test_identity.conf
rename to src/service/identity/test_identity.conf
diff --git a/src/identity/test_identity_messages.sh 
b/src/service/identity/test_identity_messages.sh
similarity index 100%
rename from src/identity/test_identity_messages.sh
rename to src/service/identity/test_identity_messages.sh
diff --git a/src/identity/test_plugin_rest_identity.sh 
b/src/service/identity/test_plugin_rest_identity.sh
similarity index 100%
rename from src/identity/test_plugin_rest_identity.sh
rename to src/service/identity/test_plugin_rest_identity.sh
diff --git a/src/identity/test_plugin_rest_identity_signature.sh 
b/src/service/identity/test_plugin_rest_identity_signature.sh
similarity index 100%
rename from src/identity/test_plugin_rest_identity_signature.sh
rename to src/service/identity/test_plugin_rest_identity_signature.sh
diff --git a/src/rest/.gitignore b/src/service/rest/.gitignore
similarity index 100%
rename from src/rest/.gitignore
rename to src/service/rest/.gitignore
diff --git a/src/rest/Makefile.am b/src/service/rest/Makefile.am
similarity index 52%
rename from src/rest/Makefile.am
rename to src/service/rest/Makefile.am
index e3952a45e..401be36f4 100644
--- a/src/rest/Makefile.am
+++ b/src/service/rest/Makefile.am
@@ -21,35 +21,9 @@ lib_LTLIBRARIES = \
 libexec_PROGRAMS = \
   gnunet-rest-server
 
-plugin_LTLIBRARIES = \
-  libgnunet_plugin_rest_copying.la \
-  libgnunet_plugin_rest_config.la
-
 EXTRA_DIST = \
  rest.conf
 
-libgnunet_plugin_rest_copying_la_SOURCES = \
-  plugin_rest_copying.c
-libgnunet_plugin_rest_copying_la_LIBADD = \
-  libgnunetrest.la \
-  $(top_builddir)/src/lib/util/libgnunetutil.la $(XLIBS) \
-  $(LTLIBINTL) $(MHD_LIBS)
-libgnunet_plugin_rest_copying_la_LDFLAGS = \
- $(GN_PLUGIN_LDFLAGS)
-libgnunet_plugin_rest_copying_la_CFLAGS = $(MHD_CFLAGS) $(AM_CFLAGS)
-
-libgnunet_plugin_rest_config_la_SOURCES = \
-  plugin_rest_config.c
-libgnunet_plugin_rest_config_la_LIBADD = \
-  libgnunetrest.la \
-  $(top_builddir)/src/lib/util/libgnunetutil.la $(XLIBS) \
-  $(LTLIBINTL) $(MHD_LIBS) -ljansson
-libgnunet_plugin_rest_config_la_LDFLAGS = \
- $(GN_PLUGIN_LDFLAGS)
-libgnunet_plugin_rest_config_la_CFLAGS = $(MHD_CFLAGS) $(AM_CFLAGS)
-
-
-
 gnunet_rest_server_SOURCES = \
  gnunet-rest-server.c
 gnunet_rest_server_LDADD = \
diff --git a/src/rest/gnunet-rest-server.c 
b/src/service/rest/gnunet-rest-server.c
similarity index 100%
rename from src/rest/gnunet-rest-server.c
rename to src/service/rest/gnunet-rest-server.c
diff --git a/src/rest/meson.build b/src/service/rest/meson.build
similarity index 100%
rename from src/rest/meson.build
rename to src/service/rest/meson.build
diff --git a/src/rest/rest.c b/src/service/rest/rest.c
similarity index 100%
rename from src/rest/rest.c
rename to src/service/rest/rest.c
diff --git a/src/rest/rest.conf b/src/service/rest/rest.conf
similarity index 100%
rename from src/rest/rest.conf
rename to src/service/rest/rest.conf
diff --git a/src/set/Makefile.am b/src/set/Makefile.am
index 7433226a3..d8c47f45d 100644
--- a/src/set/Makefile.am
+++ b/src/set/Makefile.am
@@ -30,7 +30,7 @@ gnunet_set_profiler_LDADD = \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
   $(top_builddir)/src/statistics/libgnunetstatistics.la \
   libgnunetset.la \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   $(GN_LIBINTL)
 
 
@@ -51,7 +51,7 @@ gnunet_service_set_SOURCES = \
 gnunet_service_set_LDADD = \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
   $(top_builddir)/src/statistics/libgnunetstatistics.la \
-  $(top_builddir)/src/core/libgnunetcore.la \
+  $(top_builddir)/src/service/core/libgnunetcore.la \
   $(top_builddir)/src/cadet/libgnunetcadet.la \
   $(top_builddir)/src/lib/block/libgnunetblock.la \
   libgnunetset.la \
@@ -80,28 +80,28 @@ test_set_api_SOURCES = \
  test_set_api.c
 test_set_api_LDADD = \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   libgnunetset.la
 
 test_set_union_result_symmetric_SOURCES = \
  test_set_union_result_symmetric.c
 test_set_union_result_symmetric_LDADD = \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   libgnunetset.la
 
 test_set_intersection_result_full_SOURCES = \
  test_set_intersection_result_full.c
 test_set_intersection_result_full_LDADD = \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   libgnunetset.la
 
 test_set_union_copy_SOURCES = \
  test_set_union_copy.c
 test_set_union_copy_LDADD = \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   libgnunetset.la
 
 plugin_LTLIBRARIES = \
diff --git a/src/seti/Makefile.am b/src/seti/Makefile.am
index 6292dce0a..96adf377d 100644
--- a/src/seti/Makefile.am
+++ b/src/seti/Makefile.am
@@ -29,7 +29,7 @@ gnunet_seti_profiler_LDADD = \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
   $(top_builddir)/src/statistics/libgnunetstatistics.la \
   libgnunetseti.la \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   $(GN_LIBINTL)
 
 
@@ -39,7 +39,7 @@ gnunet_service_seti_SOURCES = \
 gnunet_service_seti_LDADD = \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
   $(top_builddir)/src/statistics/libgnunetstatistics.la \
-  $(top_builddir)/src/core/libgnunetcore.la \
+  $(top_builddir)/src/service/core/libgnunetcore.la \
   $(top_builddir)/src/cadet/libgnunetcadet.la \
   $(top_builddir)/src/lib/block/libgnunetblock.la \
   libgnunetseti.la \
@@ -65,7 +65,7 @@ test_seti_api_SOURCES = \
  test_seti_api.c
 test_seti_api_LDADD = \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   libgnunetseti.la
 
 plugin_LTLIBRARIES = \
diff --git a/src/setu/Makefile.am b/src/setu/Makefile.am
index 32ccc7b26..3ecd8f32a 100644
--- a/src/setu/Makefile.am
+++ b/src/setu/Makefile.am
@@ -30,7 +30,7 @@ gnunet_setu_profiler_LDADD = \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
   $(top_builddir)/src/statistics/libgnunetstatistics.la \
   libgnunetsetu.la \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   $(GN_LIBINTL)
 
 
@@ -49,7 +49,7 @@ gnunet_service_setu_SOURCES = \
 gnunet_service_setu_LDADD = \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
   $(top_builddir)/src/statistics/libgnunetstatistics.la \
-  $(top_builddir)/src/core/libgnunetcore.la \
+  $(top_builddir)/src/service/core/libgnunetcore.la \
   $(top_builddir)/src/cadet/libgnunetcadet.la \
   $(top_builddir)/src/lib/block/libgnunetblock.la \
   libgnunetsetu.la \
@@ -76,7 +76,7 @@ test_setu_api_SOURCES = \
  test_setu_api.c
 test_setu_api_LDADD = \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   libgnunetsetu.la
 
 
@@ -84,7 +84,7 @@ perf_setu_api_SOURCES = \
  perf_setu_api.c
 perf_setu_api_LDADD = \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   libgnunetsetu.la
 
 
diff --git a/src/topology/Makefile.am b/src/topology/Makefile.am
index c8086b74d..620d51d9a 100644
--- a/src/topology/Makefile.am
+++ b/src/topology/Makefile.am
@@ -19,7 +19,7 @@ libexec_PROGRAMS = \
 gnunet_daemon_topology_SOURCES = \
  gnunet-daemon-topology.c
 gnunet_daemon_topology_LDADD = \
-  $(top_builddir)/src/core/libgnunetcore.la \
+  $(top_builddir)/src/service/core/libgnunetcore.la \
   $(top_builddir)/src/peerstore/libgnunetpeerstore.la \
   $(top_builddir)/src/statistics/libgnunetstatistics.la \
   $(top_builddir)/src/transport/libgnunettransportapplication.la \
diff --git a/src/transport/Makefile.am b/src/transport/Makefile.am
index 0828f7c04..7f71b0967 100644
--- a/src/transport/Makefile.am
+++ b/src/transport/Makefile.am
@@ -46,8 +46,8 @@ libgnunettransporttesting2_la_SOURCES = \
 libgnunettransporttesting2_la_LIBADD = \
   libgnunettransportapplication.la \
   libgnunettransportcore.la \
-  $(top_builddir)/src/arm/libgnunetarm.la \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/service/arm/libgnunetarm.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   $(top_builddir)/src/lib/hello/libgnunethello.la \
   $(top_builddir)/src/peerstore/libgnunetpeerstore.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la
@@ -200,11 +200,11 @@ libgnunet_test_transport_plugin_cmd_nat_upnp_la_LIBADD = \
   libgnunettransporttesting2.la \
   libgnunettransportapplication.la \
   libgnunettransportcore.la \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   $(top_builddir)/src/peerstore/libgnunetpeerstore.la \
   $(top_builddir)/src/statistics/libgnunetstatistics.la \
   $(top_builddir)/src/lib/hello/libgnunethello.la \
-  $(top_builddir)/src/arm/libgnunetarm.la \
+  $(top_builddir)/src/service/arm/libgnunetarm.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
   $(LTLIBINTL)
 libgnunet_test_transport_plugin_cmd_nat_upnp_la_LDFLAGS = \
@@ -216,11 +216,11 @@ 
libgnunet_test_transport_plugin_cmd_udp_backchannel_la_LIBADD = \
   libgnunettransporttesting2.la \
   libgnunettransportapplication.la \
   libgnunettransportcore.la \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   $(top_builddir)/src/peerstore/libgnunetpeerstore.la \
   $(top_builddir)/src/statistics/libgnunetstatistics.la \
   $(top_builddir)/src/lib/hello/libgnunethello.la \
-  $(top_builddir)/src/arm/libgnunetarm.la \
+  $(top_builddir)/src/service/arm/libgnunetarm.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
   $(LTLIBINTL)
 libgnunet_test_transport_plugin_cmd_udp_backchannel_la_LDFLAGS = \
@@ -232,11 +232,11 @@ libgnunet_test_transport_plugin_cmd_simple_send_la_LIBADD 
= \
   libgnunettransporttesting2.la \
   libgnunettransportapplication.la \
   libgnunettransportcore.la \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   $(top_builddir)/src/peerstore/libgnunetpeerstore.la \
   $(top_builddir)/src/statistics/libgnunetstatistics.la \
   $(top_builddir)/src/lib/hello/libgnunethello.la \
-  $(top_builddir)/src/arm/libgnunetarm.la \
+  $(top_builddir)/src/service/arm/libgnunetarm.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
   $(LTLIBINTL)
 libgnunet_test_transport_plugin_cmd_simple_send_la_LDFLAGS = \
@@ -248,11 +248,11 @@ 
libgnunet_test_transport_plugin_cmd_simple_send_performance_la_LIBADD = \
   libgnunettransporttesting2.la \
   libgnunettransportapplication.la \
   libgnunettransportcore.la \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   $(top_builddir)/src/peerstore/libgnunetpeerstore.la \
   $(top_builddir)/src/statistics/libgnunetstatistics.la \
   $(top_builddir)/src/lib/hello/libgnunethello.la \
-  $(top_builddir)/src/arm/libgnunetarm.la \
+  $(top_builddir)/src/service/arm/libgnunetarm.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
   $(LTLIBINTL)
 libgnunet_test_transport_plugin_cmd_simple_send_performance_la_LDFLAGS = \
@@ -264,11 +264,11 @@ 
libgnunet_test_transport_plugin_cmd_simple_send_broadcast_la_LIBADD = \
   libgnunettransporttesting2.la \
   libgnunettransportapplication.la \
   libgnunettransportcore.la \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   $(top_builddir)/src/peerstore/libgnunetpeerstore.la \
   $(top_builddir)/src/statistics/libgnunetstatistics.la \
   $(top_builddir)/src/lib/hello/libgnunethello.la \
-  $(top_builddir)/src/arm/libgnunetarm.la \
+  $(top_builddir)/src/service/arm/libgnunetarm.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
   $(LTLIBINTL)
 libgnunet_test_transport_plugin_cmd_simple_send_broadcast_la_LDFLAGS = \
@@ -280,11 +280,11 @@ 
libgnunet_test_transport_plugin_cmd_simple_send_dv_la_LIBADD = \
   libgnunettransporttesting2.la \
   libgnunettransportapplication.la \
   libgnunettransportcore.la \
-  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/lib/testing/libgnunettesting.la \
   $(top_builddir)/src/peerstore/libgnunetpeerstore.la \
   $(top_builddir)/src/statistics/libgnunetstatistics.la \
   $(top_builddir)/src/lib/hello/libgnunethello.la \
-  $(top_builddir)/src/arm/libgnunetarm.la \
+  $(top_builddir)/src/service/arm/libgnunetarm.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
   $(LTLIBINTL)
 libgnunet_test_transport_plugin_cmd_simple_send_dv_la_LDFLAGS = \
@@ -330,7 +330,7 @@ endif
 test_transport_start_with_config_SOURCES = \
  test_transport_start_with_config.c
 test_transport_start_with_config_LDADD = \
- $(top_builddir)/src/testing/libgnunettesting.la \
+ $(top_builddir)/src/lib/testing/libgnunettesting.la \
  $(top_builddir)/src/lib/util/libgnunetutil.la \
  $(top_builddir)/src/lib/hello/libgnunethello.la \
  libgnunettransportcore.la \
@@ -340,7 +340,7 @@ test_communicator_basic_unix_SOURCES = \
  test_communicator_basic.c
 test_communicator_basic_unix_LDADD = \
  libgnunettransporttesting2.la \
- $(top_builddir)/src/testing/libgnunettesting.la \
+ $(top_builddir)/src/lib/testing/libgnunettesting.la \
  $(top_builddir)/src/lib/util/libgnunetutil.la \
  $(top_builddir)/src/statistics/libgnunetstatistics.la
 
@@ -348,7 +348,7 @@ test_communicator_basic_tcp_SOURCES = \
  test_communicator_basic.c
 test_communicator_basic_tcp_LDADD = \
  libgnunettransporttesting2.la \
- $(top_builddir)/src/testing/libgnunettesting.la \
+ $(top_builddir)/src/lib/testing/libgnunettesting.la \
  $(top_builddir)/src/lib/util/libgnunetutil.la \
  $(top_builddir)/src/statistics/libgnunetstatistics.la
 
@@ -356,7 +356,7 @@ test_communicator_basic_udp_SOURCES = \
  test_communicator_basic.c
 test_communicator_basic_udp_LDADD = \
  libgnunettransporttesting2.la \
- $(top_builddir)/src/testing/libgnunettesting.la \
+ $(top_builddir)/src/lib/testing/libgnunettesting.la \
  $(top_builddir)/src/lib/util/libgnunetutil.la \
  $(top_builddir)/src/statistics/libgnunetstatistics.la
 
@@ -364,7 +364,7 @@ test_communicator_basic_quic_SOURCES = \
  test_communicator_basic.c
 test_communicator_basic_quic_LDADD = \
  libgnunettransporttesting2.la \
- $(top_builddir)/src/testing/libgnunettesting.la \
+ $(top_builddir)/src/lib/testing/libgnunettesting.la \
  $(top_builddir)/src/lib/util/libgnunetutil.la \
  $(top_builddir)/src/statistics/libgnunetstatistics.la
 
@@ -372,7 +372,7 @@ test_communicator_rekey_tcp_SOURCES = \
  test_communicator_basic.c
 test_communicator_rekey_tcp_LDADD = \
  libgnunettransporttesting2.la \
- $(top_builddir)/src/testing/libgnunettesting.la \
+ $(top_builddir)/src/lib/testing/libgnunettesting.la \
  $(top_builddir)/src/lib/util/libgnunetutil.la \
  $(top_builddir)/src/statistics/libgnunetstatistics.la
 
@@ -380,7 +380,7 @@ test_communicator_rekey_udp_SOURCES = \
  test_communicator_basic.c
 test_communicator_rekey_udp_LDADD = \
  libgnunettransporttesting2.la \
- $(top_builddir)/src/testing/libgnunettesting.la \
+ $(top_builddir)/src/lib/testing/libgnunettesting.la \
  $(top_builddir)/src/lib/util/libgnunetutil.la \
  $(top_builddir)/src/statistics/libgnunetstatistics.la
 
@@ -388,7 +388,7 @@ test_communicator_backchannel_udp_SOURCES = \
  test_communicator_basic.c
 test_communicator_backchannel_udp_LDADD = \
  libgnunettransporttesting2.la \
- $(top_builddir)/src/testing/libgnunettesting.la \
+ $(top_builddir)/src/lib/testing/libgnunettesting.la \
  $(top_builddir)/src/lib/util/libgnunetutil.la \
  $(top_builddir)/src/statistics/libgnunetstatistics.la
 
@@ -396,7 +396,7 @@ test_communicator_bidirect_tcp_SOURCES = \
  test_communicator_basic.c
 test_communicator_bidirect_tcp_LDADD = \
  libgnunettransporttesting2.la \
- $(top_builddir)/src/testing/libgnunettesting.la \
+ $(top_builddir)/src/lib/testing/libgnunettesting.la \
  $(top_builddir)/src/lib/util/libgnunetutil.la \
  $(top_builddir)/src/statistics/libgnunetstatistics.la
 
diff --git a/src/zonemaster/Makefile.am b/src/zonemaster/Makefile.am
index 3a3b150e2..b5fcb9d7b 100644
--- a/src/zonemaster/Makefile.am
+++ b/src/zonemaster/Makefile.am
@@ -23,7 +23,7 @@ gnunet_service_zonemaster_SOURCES = \
 gnunet_service_zonemaster_LDADD = \
   $(top_builddir)/src/dht/libgnunetdht.la \
   $(top_builddir)/src/lib/gnsrecord/libgnunetgnsrecord.la \
-  $(top_builddir)/src/identity/libgnunetidentity.la  \
+  $(top_builddir)/src/service/identity/libgnunetidentity.la  \
   $(top_builddir)/src/statistics/libgnunetstatistics.la \
   $(top_builddir)/src/lib/util/libgnunetutil.la \
   $(top_builddir)/src/namestore/libgnunetnamestore.la \

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]