impl criteria update: server api & usage on client