* seperate client and node * encapsule rpc inside client * pass proper port into rpc * track chain head in seperate thread * client new takes config instead of arc * refactor main * add start method to client