a framework for defining agents in an environment and let them do something