basic kv functionality using Agent