more functions to agent