Fleshing out agent classes