agent -> ref