broke out the location code into more normal methods once I got the concepts