updated server functionality