final code with google maps integration