Added functions, and GPS parser and factored components to seperate files