add server functions