It would be a lot cleaner if you refactored to use directions and locations but I don't think that's 100% necessary.