worked on client and server apps