shared client/server routes