diff --git a/parity/main.rs b/parity/main.rs
index 2417f062a..b25603922 100644
--- a/parity/main.rs
+++ b/parity/main.rs
@@ -71,6 +71,7 @@ mod migration;
mod signer;
mod rpc_apis;
mod url;
+mod modules;
use std::io::{Write, Read, BufReader, BufRead};
use std::ops::Deref;
diff --git a/parity/modules.rs b/parity/modules.rs
new file mode 100644
index 000000000..04e74bf20
--- /dev/null
+++ b/parity/modules.rs
@@ -0,0 +1,41 @@
+// Copyright 2015, 2016 Ethcore (UK) Ltd.
+// This file is part of Parity.
+
+// Parity is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// Parity is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with Parity. If not, see .
+
+use ethsync::{EthSync, SyncProvider, ManageNetwork, SyncConfig, NetworkConfiguration};
+use std::sync::Arc;
+use ethcore::client::{ChainNotify, BlockChainClient};
+use ethcore;
+
+#[cfg(feature="ipc")]
+fn sync(
+ sync_cfg: SyncConfig,
+ net_cfg: NetworkConfiguration,
+ client: Arc)
+ -> Result<(Arc, Arc, Arc), ethcore::error::Error>
+{
+
+}
+
+#[cfg(not(feature="ipc"))]
+fn sync(
+ sync_cfg: SyncConfig,
+ net_cfg: NetworkConfiguration,
+ client: Arc)
+ -> Result<(Arc, Arc, Arc), ethcore::error::Error>
+{
+ let eth_sync = try!(EthSync::new(sync_cfg, client, net_cfg).map_err(|e| ethcore::error::Error::Util(e)));
+ Ok((eth_sync.clone() as Arc, eth_sync.clone() as Arc, eth_sync.clone() as Arc))
+}