getting location dynamically, tested and it works.
worked out null pointer exception. dunno how that happened. now it works. reset to here if it breaks again.