added random location and nearly finished target selection