updated server functions