add server functionality