add Location logic