changed agent to non pointer type, reverted immunities to list