Finished Agent.h