revisions on agent functionality