abstractagent
