updated start(), update() and added some helper functions for guard selection and path selection