added object avoidance