added client/server to improve performance