changing API of Agent and GameObject