separated client and server apis