 				}
 			}
 		};
+
+        public function takeNode(pX:int, pY:int):Node {
+            return _pathgrid.take(pX, pY) as Node;
+        };
 		
-		public function isWalkable(pIndexX:uint, pIndexY:uint):Boolean {
+		public function isWalkable(pIndexX:int, pIndexY:int):Boolean {
 			var node:Node = _pathgrid.take(pIndexX, pIndexY) as Node;
 			
 			if (!node) {

	
	
	public final class Pathfinder {
		private static const X:uint = 0;
		private static const Y:uint = 1;
		
		public var algorithm:Algorithm;
		

			return node.walkable;
		};
		
		public function setWalkable(pIndexX:int, pIndexY:int):void {
			var node:Node     = _pathgrid.take(pIndexX, pIndexY) as Node;

            if (!node) {
