added methods to Edge, updated BaseAgent's drive method