location works so far, refactor later