simplify agent structure