Add agent functionality