what is the exact way of implementing GPS and what are the specific hardware and software required for this purpose?