added waypoint system