/*************************/
    /* PATHFINDING FUNCTIONS */
    /*************************/
    // NOTE: if you're trying to find multiple paths, opt for get_paths or getDistances, which run much more efficiently

    // get a single path from source to dest
    public Path get_path(Pos source, Pos dest)
    {
        if (source == null || dest == null || source == dest)
        {
            return(null);
        }

        if (!IsWalkable(source))
        {
            nav_map.insertTraversableTile(source);
        }

        Path result = new Path(nav_map.shortestPath(source, dest));

        if (!IsWalkable(source))
        {
            nav_map.removeTraversableTile(source);
        }

        return(result);
    }